对于最新的稳定版本,请使用 Spring Boot 3.4.0! |
使用 JVM 进行预先处理
使用 AOT 生成的初始化代码运行应用程序对启动时间是有益的。 首先,您需要确保正在构建的 jar 包含 AOT 生成的代码。
CDS 和 AOT 可以结合使用,以进一步缩短启动时间。 |
对于 Maven,这意味着您应该使用 build 来激活配置文件:-Pnative
native
$ mvn -Pnative package
对于 Gradle,您需要确保您的构建包含插件。org.springframework.boot.aot
构建 JAR 后,运行它并将 system 属性设置为 。例如:spring.aot.enabled
true
$ java -Dspring.aot.enabled=true -jar myapplication.jar
........ Starting AOT-processed MyApplication ...
请注意,使用预先处理有缺点。 它意味着以下限制:
-
类路径是固定的,并且在构建时完全定义
-
应用程序中定义的 bean 在运行时不能更改,这意味着:
-
不支持在创建 Bean 时更改的属性(例如,
@ConditionalOnProperty
和 properties)。.enable
要了解有关预先处理的更多信息,请参阅了解 Spring 预先处理部分。