22년 10월 Springboot 3.0이 릴리즈 되었습니다. Springboot 3.0은 Spring 6.0을 기반으로 하고 있기 때문에 이와 관련하여 변경된 내용에 대해 알아보겠습니다.
주요 변경 내용
- Java17
- Java EE를 Jakarta EE로 변경(javax.* → jakarta.* 로 변경)
- AOT & GraalVM
Java17
최소 버전으로 java 17이 필요합니다. 추가적으로 Java 19까지 테스트 완료되었다고 하네요
Java EE → Jakarta EE로 변경
기존의 Java EE 대신 Jakarta EE로 채택되었습니다. 이로 인해 javax.* 로 import 하던 코드들을 jakarta.* 코드로 변경이 필요합니다.
AOT & GraalVM
Java 애플리케이션을 컴파일하는 방법으로 AOT(Ahead Of Time)와 JIT(Just In Time) 두 가지 방법이 있습니다. JIT는 런타임에 Java 바이트 코드를 기계어로 번역하는 방법이고, AOT는 빌드 시점에 Java 바이트 코드를 기계어로 번역하는 방법입니다. 쉽게 말하면 JIT는 실시간으로 컴파일하는 방법이, AOT는 빌드 시점에 컴파일하는 방법입니다.