티스토리 뷰
매우 구체적인 사항은 발표내용을 참고 바랍니다.
github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes
1. JUnit 5’s Vintage Engine Removed from spring-boot-starter-test
Spring Boot 2.4로 업그레이드하고 org.junit.Test와 같은 JUnit 클래스에 대한 테스트 컴파일 오류가 표시되는 경우 이는 JUnit 5의 빈티지 엔진이 spring-boot-starter-test에서 제거 되었기 때문일 수 있습니다. 빈티지 엔진을 사용하면 JUnit 4로 작성된 테스트를 JUnit 5에서 실행할 수 있습니다. 테스트를 JUnit 5로 마이그레이션하지 않고 JUnit 4를 계속 사용하려면 다음 예제와 같이 Vintage Engine에 종속성을 추가하십시오. Maven의 경우 :
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
2. Config File Processing (application properties and YAML files)
Spring Boot 2.4는 application.properties 및 application.yml 파일이 처리되는 방식을 변경했습니다. 간단한 application.properties 또는 application.yml 파일 만있는 경우 업그레이드가 원활해야합니다. 그러나 더 복잡한 설정 (프로필 특정 속성 또는 프로필 활성화 속성 포함)이있는 경우 새 기능을 사용하려면 몇 가지 변경이 필요할 수 있습니다.
Spring Boot 2.3 호환 로직을 원하면 application.properties 또는 application.yml 파일에서 spring.config.use-legacy-processing 속성을 true로 설정할 수 있습니다.
3. Config Data Imports
spring.config.location 및 spring.config.import (이 릴리스에서 도입 됨)를 통해 지정된 구성 위치는 파일 또는 폴더가 존재하지 않아도 더 이상 자동으로 실패하지 않습니다. 위치를 가져 오려고하지만 찾을 수없는 경우 건너 뛰어도 괜찮다면 이제 optional : 접두사를 붙여야합니다.
예를 들어 spring.config.location = optional : /etc/config/application.properties는 /etc/config/에서 application.properties 파일이 있으면 가져오고, 없으면 건너 뜁니다.
모든 위치를 선택 사항으로 취급하려면 SpringApplication.setDefaultProperties (…) 또는 시스템 / 환경 변수를 사용하여 spring.config.on-not-found = ignore를 설정할 수 있습니다.
4. Logback Configuration Properties
Logging properties that are specific to Logback have been renamed to reflect the fact that they are Logback-specific. The previous names have been deprecated.
Logback에 고유 한 로깅 속성은 Logback에 고유하다는 사실을 반영하도록 이름이 변경되었습니다. 이전 이름은 더 이상 사용되지 않습니다.
The following Spring Boot properties have been changed:
- logging.pattern.rolling-file-name → logging.logback.rollingpolicy.file-name-pattern
- logging.file.clean-history-on-start → logging.logback.rollingpolicy.clean-history-on-start
- logging.file.max-size → logging.logback.rollingpolicy.max-file-size
- logging.file.total-size-cap → logging.logback.rollingpolicy.total-size-cap
- logging.file.max-history → logging.logback.rollingpolicy.max-history
As have the system environment properties that they map to:
- ROLLING_FILE_NAME_PATTERN → LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN
- LOG_FILE_CLEAN_HISTORY_ON_START → LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START
- LOG_FILE_MAX_SIZE → LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE
- LOG_FILE_TOTAL_SIZE_CAP → LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP
- LOG_FILE_MAX_HISTORY → LOGBACK_ROLLINGPOLICY_MAX_HISTORY
Spring Boot 2.4 에서의 Config file 처리방법의 자세한 사항은 다음을 참고.
spring.io/blog/2020/08/14/config-file-processing-in-spring-boot-2-4