JVM 提前處理
使用 AOT 生成的初始化程式碼執行應用程式有利於縮短啟動時間。首先,您需要確保構建的 jar 包含 AOT 生成的程式碼。
| AOT 快取和 Spring 的 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 ...
請注意,使用預先處理有其缺點。它意味著以下限制:
-
類路徑是固定的,並在構建時完全定義
-
應用程式中定義的 bean 不能在執行時更改,這意味著:
-
不支援會改變 bean 是否建立的屬性(例如,
@ConditionalOnProperty和.enabled屬性)。
要了解更多關於預先處理的資訊,請參閱 理解 Spring 預先處理 部分。