事前処理
Spring Boot アプリケーションの事前処理を使用する場合、多くの疑問が生じます。このセクションでは、これらの質問について説明します。
条件
事前処理はアプリケーションを最適化し、ビルド時の環境に基づいて @Conditional
(Javadoc) アノテーションを評価します。プロファイルは条件を通じて実装されるため、影響を受けます。
事前に最適化されたアプリケーションの条件に基づいて Bean を作成する場合は、アプリケーションの構築時に環境をセットアップする必要があります。ビルド時の事前処理中に作成される Bean は、アプリケーションの実行時に常に作成され、オフにすることはできません。これを行うには、アプリケーションの構築時に使用するプロファイルを設定します。
Maven の場合、これは spring-boot-maven-plugin:process-aot
実行の profiles
構成を設定することで機能します。
<profile>
<id>native</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>process-aot</id>
<configuration>
<profiles>profile-a,profile-b</profiles>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
Gradle の場合、ProcessAot
タスクを構成する必要があります。
tasks.withType(org.springframework.boot.gradle.tasks.aot.ProcessAot).configureEach {
args('--spring.profiles.active=profile-a,profile-b')
}
条件に影響を与えない構成プロパティのみを変更するプロファイルは、事前に最適化されたアプリケーションを実行する場合、制限なくサポートされます。