預先處理 (Ahead-of-Time Processing)
Spring AOT 是一個在構建時分析您的程式碼以生成最佳化版本的過程。它最常用於幫助生成 GraalVM 原生映象。
Spring Boot Gradle 外掛提供了可用於對應用程式和測試程式碼執行 AOT 處理的任務。當應用 GraalVM Native Image 外掛 時,這些任務會自動配置。
-
Groovy
-
Kotlin
plugins {
id 'org.springframework.boot' version '3.4.5'
id 'org.graalvm.buildtools.native' version '0.10.6'
id 'java'
}
plugins {
id("org.springframework.boot") version "3.4.5"
id("org.graalvm.buildtools.native") version "0.10.6"
java
}
處理應用
基於您使用 @SpringBootApplication
註解的主類,processAot
任務生成一個執行時將貢獻的 bean 的持久化檢視,使 bean 例項化儘可能直接。可以使用回撥對工廠進行額外的後處理。例如,這些用於生成 GraalVM 在原生映象中初始化上下文所需的反射配置。
由於 BeanFactory
在構建時完全準備就緒,條件也會被評估。這與常規 Spring Boot 應用在執行時所做的有重要區別。例如,如果您想選擇啟用或停用某些特性,需要在構建時配置使用的環境來實現。為此,processAot
任務是一個 JavaExec
任務,可以根據需要配置環境變數、系統屬性和引數。
GraalVM Native Image 外掛的 nativeCompile
任務會自動配置為使用 processAot
任務的輸出。