Spring Boot 3 (Spring Framework 6)

✔ Java 17 이상을 지원합니다. (Kotlin 1.7+) ✔ Java EE를 jakarta EE 로 대체합니다 (javax.* 에서 jakarta.* 로 변경됩니다.) ✔ GraalVM 기반의 Spring Native가 3년간의 실험을 마치고 공식 지원을 시작합니다. ✔ HTTP/RSocket Interface Client를 제공합니다, ✔ Micrometer Observation API가 자동으로 구성되며, Observability 가 공식 지원을 시작합니다. ✔ HTTP API 에러 처리를 위한 RFC 7807 스펙을 지원합니다. ✔ 보안상 이슈로 /api/hello 와 /api/hello/ 는 더 이상 일치하지 않습니다. ✔ Logback 및 Log4j2 날짜 및 시간의 기본값이 ISO-8601 표준을 따릅니다. ✔ 사용되지 않는 (Deprecated) 모든 코드가 제거됩니다.

Spring Boot 3 으로 마이그레이션은

  1. Java 17로 업그레이드 하세요.
  2. Spring Boot 2.7.x 로 순차적으로 (2.5 -> 2.6 -> 2.7) 업그레이드 하세요.
  3. Deprecated 코드를 찾아 (-Werror 옵션) 제거 하세요.
  4. 레거시 application.properties 및 application.yaml 을 확인하세요. (use-legacy-processing)
  5. (옵션) AntPathMatcher 를 사용중이라면 성능이 더 좋은 PathPatternParser으로 변경하세요.
  6. 타사 프로젝트에서 Jakarta EE 9 를 호환하는 릴리즈가 있는지 확인하세요.
  7. 타사 프로젝트에서 Spring Framework 6 을 호환하는지 확인하세요.

Spring Boot 3 공식문서 : https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0

(참고) Spring Boot 2.7.x 는 2023년 11월까지 지원 예정입니다.