Introducing the Spring’s AOT engine
The Spring team has also worked on supporting the native compilation of Spring applications for some time. In March 2021, after 18 months of work, the experimental Spring Native project launched a beta release; see https://spring.io/blog/2021/03/11/announcing-spring-native-beta. Based on the experiences from the Spring Native Project, official support for building Native Images was added in Spring Framework 6 and Spring Boot 3; see https://spring.io/blog/2023/02/23/from-spring-native-to-spring-boot-3. To perform the actual native compilation, Spring uses GraalVM’s Native Image compiler under the hood.
The most important feature is Spring’s new AOT engine, which analyzes the Spring Boot application at build time and generates initialization source code and reachability metadata required by the GraalVM Native Image compiler. The generated initialization source code, also known as AOT-generated code, replaces the reflection...