事前処理

Spring Boot アプリケーションの事前処理を使用する場合、多くの疑問が生じます。このセクションでは、これらの質問について説明します。

条件

事前処理によりアプリケーションが最適化され、ビルド時の環境に基づいて条件 (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')
}

条件に影響を与えない構成プロパティのみを変更するプロファイルは、事前に最適化されたアプリケーションを実行する場合、制限なくサポートされます。