使用 JVM 進行提前處理
使用 AOT 生成的初始化程式碼執行應用有利於啟動時間。首先,你需要確保你構建的 JAR 包包含 AOT 生成的程式碼。
CDS 和 AOT 可以結合使用,進一步縮短啟動時間。 |
對於 Maven,這意味著你應該使用 -Pnative
進行構建以啟用 native
profile
$ 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 ...
請注意,使用提前處理存在缺點。它意味著以下限制:
-
類路徑在構建時固定且完全定義
-
應用中定義的 Bean 在執行時不能改變,這意味著
-
如果 Bean 被建立,會隨之改變的屬性不受支援(例如,
@ConditionalOnProperty
和.enabled
屬性)。
要了解更多關於提前處理的資訊,請參閱瞭解 Spring 提前處理 一節。