[Tech] SpringBoot 2.x VS SpringBoot 3.x

IntelliJ 2019버전을 쓰다보니 java버전과 Springboot버전에 제약이 있었다.
이번에 intellij 2023.2 버전을 재설치한 김에, Springboot 3.x를 쓰면 어떨까 싶어 2.x버전과 비교문서를 찾았다

 

1️⃣ SpringBoot 2.x


  • 2018.03 출시
  • Java
  • javax패키지 (ft. Java EE)
  • 로그형식: yyyy-MM-dd HH:mm:ss.SSS

 

2️⃣ SpringBoot 3.x


  • 2023.11 출시
  • JDK 17 미만 버전 미지원
  • jakarta패키지 (ft. Jakarta EE)
  • Springfox Swagger 미지원
  • 로그형식: (ISO-8601 표준) yyyy-MM-dd'T'HH:mm:ss.SSSXXX

 

3️⃣2 -> 3 주의사항


✔ JDK를 17로 업그레이드 하기

  • 래거시 자바 문법을 없애고 JDK17문법을 사용 중임

✔ javax -> jakarta

  • JavaEE에서 Jakarta EE로 전환되었으므로, 패키지 이름을 변경

✔ Querydsl 설정 변경

  • javax -> jakarta 변경에 의하여, QueryDsl 관련 설정 변경

✔ 스프링 시큐리티 변경

  • SecurityConfig에서 제거된 메서드가 있으므로 변경
  • authorizeRequests() -> authorizeHttpRequests()
  • antMatchers() -> requestMatchers()
  • regexMatchers() -> RegexRequestmatchers()

 

참고링크


https://www.samsungsds.com/kr/insights/java_jakarta.html
스프링 부트 2에서 스프링 부트3로 업그레이드 가이드
Spring Boot 3.0 Migration Guide
WebSecurityConfiguraerAdapter Deprecated 대응법