Spring Boot

· Spring Boot
1. 데이터베이스(Database)란?- 데이터베이스 : 데이터를 매우 효율적으로 보관하고 꺼내볼 수 있는 곳- 이점 : 굉장히 많은 사람이 안전하게 데이터를 사용, 관리 가능 1.1. DBMS(Database Management System) - 데이터베이스를 관리하기 위한 소프트웨어- 데이터베이스는 많은 사람이 공유할 수 있어야하므로 동시 접근 가능해야함- 이외의 요구사항 만족하면서도 효율적으로 데이터베이스를 관리하고 운영- ex. MySQL, 오라클(Oracle)- 분류 : 관계형(가장 많이 사용), 객체-관계형, 도큐먼트형, 비관계형 등 관계형 DBMS (Relational DBMS, RDBMS)관계형? : 이 DBMS가 관계형 모델을 기반으로 하기 때문- 테이블 형태로 이루어진 저장소ex. 회원..
· Spring Boot
1. 테스트 코드1.1. 테스트 코드란?: 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드- 장점1) 유지보에 좋음- 장점2) 코드 수정 시 기존 기능이 제대로 작동하지 않을까봐 걱정하지 않아도 됨 1.2. 테스트코드의 다양한 패턴 given-when-then 패턴- 테스트 코드를 세 단계로 구분해 작성하는 방식@DisplayName("새로운 메뉴를 저장한다.")@Testpublic void saveMenuTest(){ // 1) given : 메뉴를 저장하기 위한 준비 과정 final String name = "아메리카노"; final int price = 2000; final Menu americano = new Menu(name, p..
· Spring Boot
1. 스프링 부트 3 구조 살펴보기- 스프링부트는 각 계층이 양 옆 계층과 통신하는 구조 따름- 계층 : 각자의 역할과 책임이 있는 어떤 소프트웨어의 구성 요소- 각 계층은 서로 소통 가능 O, but  다른 계층에 직접 간섭하거나 영향 미치지 X 1.1. 이해를 돕는 예시 - 카페와 빵집으로 이해하는 계층- 카페 : 커피 판매 => 계층 a- 빵집 : 빵 판매 => 계층 b-> 카페 & 빵집 협업 -> 손님이 커피 사면 빵 할인 => 계층 간의 소통- 빵집 알바생이 빵을 팔다 말고 카페에 가서 커피 팔 수 X => 계층은 서로 영향 끼치지 못함=> 계층은 자신의 책임에 맞는 역할(ex. 커피 팔기, 빵 팔기) 수행하며 필요에 따라 소통(커피 사면 빵 할인)함  1.2. 스프링부트의 계층 구조- 스프링부..
· Spring Boot
1. @SpringBootApplicationpackage org.example.springbootdeveloper;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.SpringApplication;@SpringBootApplicationpublic class SpringBootDeveloperApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDeveloperApplication.class, args); }}1.1.@SpringBootApplicati..
· Spring Boot
1. 스프링 부트 3의 변화- 스프링 부트 2 : 자바 8 버전 이상 사용- 스프링 부트 3 : 자바 17 버전 이상 사용 2. 자바 17의 주요 변화 2.1. 텍스트 블록- 이전 : 여러 줄의 텍스트 작성 -> \n 추가 필요- 현재 : """ 로 감싼 텍스트 사용 -> 여러 줄 텍스트 표현 O  String query11 = "SELECT * FROM \"items\"\n" + "WHERE \"status\" = \"ON_SALE\"\n" + "ORDER BY \"price\";\n"; String query17 = """ SELECT * FROM "items" ..
· Spring Boot
1. 스프링 부트의 자동 구성이란?- 스프링 부트에서는 애플리케이션이 최소한의 설정만으로도 실행되게 여러 부분을 자동으로 구성- 추후 개발 시 내가 구성하지 않은 부분인데 스프링에서 자도응로 어떻게 구성했는지 확인할 상황 오기때문에 알아둬야함!- 스프링부트는  서버 시작 시 구성 파일 읽어와서 설정 == 자동 설정=>META-INF / spring.factories 파일    2. spring.factories 파일  spring-boot-autoconfigure/spring.factories 검색 -> 첫번째 파일 실행 spring.factories 파일># Initializersorg.springframework.context.ApplicationContextInitializer=\org.spring..
· Spring Boot
1. 스프링 부트 스타터 (Spring Boot Starter)- 스프링 부트 스타터 (Spring Boot Starter): 의존성이 모여있는 그룹 => 특정 기능을 구현하기 위해 필요한 의존성(dependencies)을 한 번에 관리할 수 있는 일종의 패키지 모음 - 스프링 부트에서 특정 기능(ex. 웹 개발, 데이터베이스 접근 등)을 사용하려면 여러 라이브러리와 설정이 필요-> 과거 : 개발자가 각 라이브러리를 개별적으로 추가하고 설정 필요 ->번거로움 & 실수 가능성 큼- 스타터 사용 -> 필요한 기능을 간편하게 설정 가능- 특정 기능을 구현하기 위해 필요한 라이브러리와 설정을 미리 패키지로 묶어 제공-> 개발자는 단순히 해당 스타터를 의존성에 추가하는 것만으로도 필요한 모든 것을 자동으로 가져올..
· Spring Boot
1. java class 만들기 package org.example.springbootdeveloper;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController { @GetMapping("/test") public String test(){ return "Hello, world!"; }} - @RestContoller : 라우터- @GetMapping : 2. 실행2.1. 문제 발생 : 이미 사용중인 포트번호 예전에 8080포트로 무언가 실행해서..
자굴이
'Spring Boot' 카테고리의 글 목록