본문 바로가기
Backend - Java Spring/Spring Boot 입문(완)

[SpringBoot3] SpringBoot3와 자바버전

by VictorMeredith 2023. 10. 20.

1. 스프링부트3 은 자바17을 사용해야한다. 

- 2025년부터는 무조건 써야한다고 하니 그냥 맞춰서 사용하자.

- 자바진영 공부는 처음이라 ES6 대규모 변화같은 그런건가보다. 

- 주요 변화를 살펴보자.

 

1) 텍스트블록

- \n 대신에 """로 감싼 텍스트를 사용해서 여러줄의 텍스트를 표현할 수 있다.

 

2) formatted() 메서드

- 값 파싱을 위한 메서드가 추가되었다.

 

3) 레코드

- 데이터 전달을 목적으로 하는 객체를 더 빠르고 간편하게 만들기 위한 기능이다.

- 레코드는 상속이 불가하고, 파라미터에 정의한 필드는 private final로 정의된다.

- 게터를 자동으로 만들기 때문에 에너테이션이나 메서드로 게터 정의를 하지 않아도 된다.

 

4) 패턴매칭

- instanceof 키워드를 좀 더 쉽게 사용하도록 해준다.

 

5) 자료형에 맞는 case 처리 가능

 

등등 있다. 자세한 건 검색 ㄱㄱ

 

2. SpringBoot3 Code 이해하기

1) @SpringBootApplication

- 자바의 main() 메서드와 같은 역할을 한다.

- @SpringBootApplication 을 추가하면 SpringBoot 사용에 필요한 기본설정을 해준다.

- .run() 메서드는 앱을 실행한다. 첫번째 파라미터는 메인클래스로 사용할 클래스, 두번째 파라미터는 커맨드라인의 인수들을 전달한다.

- 여기서 어노테이션을 잘 살펴보면,

- 파일 내부는 완전 긴데, 이 중에서 세 가지만 살펴보자.

- @SpringBootConfiguration : SpringBoot 관련설정을 나타낸다. Spring의 @Configuration 을 상속해서 만든 애너테이션이다.

- @ComponentScan : 사용자가 등록한 빈을 읽고 등록하는 애너테이션이다. @Component 애너테이션을 가진 클래스들을 찾아 빈으로 등록하는 역할을 한다.

- @EnableAutoConfiguration : 자동 구성을 활성화하는 애너테이션이다. spring.factories의 클래스들이 이 애너테이션을 사용할 때 자동으로 설정된다.

 

3. TestController 살펴보기

- @RestController : 라우터 역할, @Component을 내부적으로 가지고 있으므로 등록된다.

댓글