|
此版本仍在开发中,尚未视为稳定版。如需最新稳定版本,请使用 Spring Boot 4.0.4! |
使用 JVM 进行预先处理
使用 AOT 生成的初始化代码来运行您的应用程序有助于缩短启动时间。 首先,您需要确保所构建的 JAR 文件中包含 AOT 生成的代码。
| CDS 和 AOT 可以结合使用,以进一步提升启动时间。 |
对于 Maven 来说,这意味着你应该使用 -Pnative 进行构建,以激活 native 配置文件:
$ mvn -Pnative package
对于 Gradle,你需要确保你的构建包含 org.springframework.boot.aot 插件。
当 JAR 文件构建完成后,运行时需将 spring.aot.enabled 系统属性设置为 true。例如:
$ java -Dspring.aot.enabled=true -jar myapplication.jar
........ Starting AOT-processed MyApplication ...
请注意,使用预先处理(ahead-of-time processing)存在一些缺点。 它会带来以下限制:
-
类路径在构建时即已固定并完全定义
-
您应用程序中定义的 Bean 在运行时无法更改,这意味着:
-
不支持在创建 Bean 时发生变化的属性(例如,
@ConditionalOnProperty和.enabled属性)。
要了解更多关于提前处理(ahead-of-time processing)的信息,请参阅理解 Spring 提前处理部分。