스프링 부트 버전
스프링 부트의 최신 버전은 2.0입니다. 일부 수정 및 교체와 함께 많은 새로운 기능이 도입되었습니다.
스프링 부트 2.0
Spring Boot 2.0을 살짝 살펴보겠습니다.
새로운 기능
인프라 업그레이드
스프링 프레임워크 5
변경 사항
구성 속성
그래들 플러그인
액추에이터 엔드포인트
발전 사항
보안
측정 기준
핵심 팀은 다음과 같은 툴이 관련된 인프라를 업그레이드했습니다.
- Java 8 이상 버전을 지원합니다.
- Apache Tomcat 8 이상 버전을 지원합니다.
- Thymeleaf 3을 지원합니다.
- Hibernate 5.2를 지원합니다.
Spring Framework 5에서 Pivotal 팀은 다음을 업그레이드했습니다.
반응형 스프링
- 서블릿 스택
- 서블릿 컨테이너
- 서블릿 API
- Spring MVC
Reactive Stack
- 네티, 서블릿 3.1, 언더도우
- 대응 HTTP 계층
- 스프링 웹 플럭스
FUNCTION API
코틀린 지원
스프링 부트의 최신 버전은 2.2.1입니다. 이번 Spring Boot 릴리스에는 110개의 수정, 종속성 업그레이드 및 개선 사항이 포함되어 있습니다.
스프링 부트 v2.2.1에서는 이제 주석 @ConfigurationProperties 스캔이 기본적으로 비활성화됩니다. @ConfigurationPropertiesScan 주석을 추가하여 명시적으로 선택해야 합니다.
새로운 특징
- Java Bean 내부에 중첩된 속성에 대한 생성자 바인딩을 지원합니다.
- WebFlux에서 CodecConfigurer.maxInMemorySize에 대한 구성 속성을 추가합니다.
- 테스트 조각의 유형 제외 필터를 공개합니다.
- spring.rabbitmq.addresses에서 amqps:// URI를 지원합니다.
종속성 업그레이드
일부 종속성은 Spring Boot v2.2.1에서 업그레이드되었습니다.
- 몽고디비 3.11.2
- 스프링 보안 5.2.1.RELEASE
- Slf4j 1.7.29
- Spring Hateoas 1.0.1.RELEASE
- Hiberante Validator 6.0.18.Final
- Hiberante 5.4.8.FInal
- Jetty 9.4.22.v20191022
- 스프링 프레임워크 5.2.1
- 스프링 AMQP 2.2.1
- H21.4.200
- 스프링 보안 5.2
- 스프링 배치 4.2
이 릴리스에서는 널리 사용되는 중요 타사 종속성이 다음과 같이 업그레이드되었습니다.
- 마이크로미터 1.3.1
- 플라이웨이 6.0.7
- Elastic search 6.8.4
- JUnit 5.5
- Jackson 2.10
성능 향상
Spring Boot 2.2.1에서는 다음과 같은 성능이 향상되었습니다.
Lazy Initialzation
Spring Boot 2.2.1에서는 spring.main.lazy-initialization 속성을 사용하여 글로벌 지연 초기화를 활성화할 수 있습니다. 애플리케이션 시작 시간을 단축합니다.
Java 13 지원
Spring Boot 2.2.1은 이제 Java 13의 최신 버전을 지원합니다.
Immutable Binding
최신 버전의 스프링 부팅에서 구성 속성은 생성자 기반 바인딩을 지원합니다. @ConfigurationProperties 주석이 있는 클래스 주석은 변경할 수 없습니다. @ConfigurationProperties 주석을 클래스 또는 @ConstructorBinding을 사용하여 해당 생성자 중 하나에 추가하여 활성화할 수 있습니다.
RSocket 지원
스프링 시큐리티의 일부입니다. 애플리케이션이 클래스 경로에 spring-security-rsocket이 있는 경우 Rsocket 통합이 자동으로 구성됩니다.
스프링 부트 2.2의 권장 사항
로깅 파일 속성의 이름이 logging.file.name로 변경되었습니다.
logging.path 속성의 이름이 logging.file.path로 변경되었습니다.
server.connection-timeout 속성은 서버별 속성을 위해 더 이상 사용되지 않습니다.
java.time을 위해 joda time 지원은 더 이상 사용되지 않습니다.
스프링 부트 2.2.1에서는 다음과 같이 개선되었습니다.
- Java: 스프링 부트 2.2.1입니다.
- Spring Framework 5.2: 이번 Spring Boot 릴리스에서는 Spring Framework를 5.2로 업그레이드합니다.
- JMX가 비활성화되었습니다. 이 버전에서는 JMX가 기본적으로 활성화되어 있지 않습니다. jmx.enabled=true 속성을 사용하여 활성화할 수 있습니다. IDE 기능을 사용하여 응용 프로그램을 모니터링하는 경우 이 기능을 활성화해야 합니다.
- 기본적으로 포크가 활성화됨: Maven Plugin에서 실행된 스프링 부트 응용 프로그램은 기본적으로 포크가 설정됩니다.
- JUNIT 5: Spring Boot v2.2.1은 JUNIT 5를 기본적으로 제공합니다. 기존 JUNIT 4 기반 테스트 클래스를 지원하는 JUNIT 5의 빈티지 엔진도 기본적으로 포함되어 있습니다. 또한 JUNIT 4와 JUNIT 5 기반의 테스트 클래스를 동일한 모듈에서 사용할 수 있습니다.
- Assert J 3.12: 이번 스프링 부트 릴리스에서는 Assert J 3.12로 업그레이드됩니다. Iterator와 관련된 주장에 대한 API 변경 사항이 포함되어 있습니다.
- Hibernate Dialect: 최신 버전의 스프링 부트에서는 Hibernate가 탐지된 데이터베이스를 기반으로 기본 사투리를 적용하는 대신 사용할 Dialet를 선택했습니다.
- Gradle 요구 사항: 최신 버전의 스프링 부트는 Gradle 4.10이 필요합니다.
'SW > Spring Boot' 카테고리의 다른 글
Spring Boot : 스프링 부트 프로젝트 생성 방법, 개요, 설명 (0) | 2023.03.06 |
---|---|
Spring Boot : STS IDE 다운로드, 설치, 개념, 개요, 설명 (0) | 2023.03.05 |
Sprign Boot : Spring 이니셜라이저 : 개념, 개요, 설명 (0) | 2023.03.04 |
Spring Boot : Spring, Spring MVC와 차이점, 설명, 개요 (0) | 2023.03.03 |
Spring Boot : 스프링 부트 튜토리얼 (0) | 2023.03.01 |