SW/Spring Boot

Spring Boot : 스프링 부트 2.0 개요, 설명

얇은생각 2023. 3. 2. 07:30
반응형

 

 

스프링 부트 버전

스프링 부트의 최신 버전은 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이 필요합니다.

반응형