2.3 스프링 부트3
2.3.1 첫 번째 스프링 부트 예제 만들기
- Get 요청을 하면 "Hello, world!"를 반환하는 예제 테스트
- Get 요청이기 때문에 주소 뒤에 "test"라는 경로가 같이 나오게 된다
package me.kyungsoolee.springbootdeveloper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping("/test")
public String test() {
return "Hello, world!";
}
}
2.3.2 스프링 부트 스타터 살펴보기
- 스프링 부트 스타터 : 의존성이 모여있는 그룹
- 스타터 명명규칙 : spring-boot-starter-{작업유형}
- (ex. JDBC 관련 스타터 -> spring-boot-starter-jdbc)
- 이 외에도 다양한 스타터들이 있다(유효성 검사, 애플리케이션 테스트 등...)
2.3.4 스프링 부트 3와 자바 버전
- 자바 17의 주요 변화들
- 텍스트 블록
- formatted() 메서드
- 레코드
- 패턴 매칭
- 자료형에 맞는 case 처리
- Servelt, JPA의 네임스페이스가 Jakarta로 대체
- GraalVM 기반의 스프링 네이티브 공식 지원
2.4 스프링 부트 3 코드 이해하기
2.4.1 @SpringBootApplication 이해하기
- 1단계 : SpringBootDeveloperApplication.java 파일 열기
- 이 클래스는 자바의 main()과 같은 역할을 한다. (스프링 부트가 여기서 시작)
- SpringBootApplication 애너테이션을 통해 기본 설정을 해준다.
- SpringApplication.run()은 애플리케이션을 실행한다.
- 첫 번째 인수 : spring boot3 애플리케이션의 메인클래스로 사용할 클래스
- 두 번째 인수 : 커맨드 라인의 인수들
- 2단계 : @SpringBootApplication 구성요소들
- @SpringBootConfiguration : 스프링 부트 관련 설정을 나타내는 애너테이션
- @ComponentScan : 사용자가 등록한 빈을 읽고 등록하는 애너테이션
- @EnableAutoConfiguration : 스프링 부트에서 자동 구성을 활성화하는 애너테이션
- 이외의 애너테이션들 : @Configuration, @Repository, @Controller, @Restcontroller, @Service ...
2.4.2 테스트 컨트롤러 살펴보기
- TestContorller를 @RestController라는 애너테이션을 통해 라우터로 지정
@Restcontroller : 라우터 역할을 하는 애너테이션
라우터 : HTTP 요청과 메서드를 연결하는 장치
- @Controller에서 @Component 애너테이션을 가지고 있기 때문에 @RestController와 동일하게 사용
(@RestController는 @Controller를 포함. 단지 명확하게 구분하기 위해서 서로 분류. [command + 클릭]을 통해 확인 가능)
'Spring boot > 스프링 부트 3 백엔드 개발자 되기(자바편)' 카테고리의 다른 글
[4장] 스프링 부트 3와 테스트 (0) | 2023.07.25 |
---|---|
[3장] 스프링 부트3 구조 이해하기 (0) | 2023.07.25 |
[2장] 스프링 부트 3 시작하기(1) - 스프링 콘셉트 (0) | 2023.07.25 |
[1장] 자바 백엔드 개발자가 알아두면 좋은 지식 (0) | 2023.07.25 |
[0장] 개발 환경 구축하기 - 스프링 부트 3 프로젝트 만들기 (0) | 2023.07.25 |