1.4. Spring Boot アプリケーションでのアノテーションレス設定の使用
Dekorate を使用して、application.properties ファイルおよび application.yml ファイルから dekorate 設定プロパティーを抽出して、Spring Boot アプリケーションプロジェクトの OpenShift リソース設定ファイルを生成します。Dekorate は、Spring Boot から必要なメタデータとプロパティーファイルから設定パラメーターを取得できるため、このメソッドにはアプリケーションソースにアノテーションを付ける必要はありません。アノテーションのない設定は、Spring Boot と Dekorate の間のリッチフレームワーク統合機能です。
前提条件
- Spring Boot および Dekorate を使用するよう設定された Maven ベースのアプリケーションプロジェクト。
-
@SpringBootApplicationアノテーションが付けられたアプリケーションプロジェクトの 1 つ以上のクラス。 - Java JDK 8 または JDK 11 がインストールされている。
- Maven がインストールされている。
手順
アプリケーションの
pom.xmlファイルに以下の依存関係を追加します。<project> ... <dependencies> ... <!-- The OpenShift Spring Starter automatically adds "io.dekorate:openshift-annotations" as a transitive dependency --> <dependency> <groupId>io.dekorate</groupId> <artifactId>openshfit-spring-starter</artifactId> <version>${dekorate.version}</version> </dependency> ... </dependencies> ... <project>-
Dekorate 設定プロパティーをプロジェクトの
application.propertiesファイルまたはapplication.ymlファイルに追加します。Dekorate プロパティーアノテーションをソースファイルに追加する必要はありません。ソースファイルのアノテーションを使用できますが、これを行う場合は、アノテーションで提供されるパラメーターをapplication.propertiesファイルまたはapplication.ymlファイルにあるパラメーターで上書きします。 アプリケーションをパッケージ化します。
mvn clean package
アプリケーションの Dekorate をビルドすると、アプリケーションプロジェクト内の以下のリソースの設定が解析されます。設定リソースは優先順に解析されます。つまり、異なるタイプの 2 つの異なるリソースが同じ設定パラメーターに異なる値を持っている場合、Dekorate は優先度のリストにあるリソースから取得した値を使用します。たとえば、ソースのアノテーションがパラメーター値を指定するものの、
application.ymlの同じパラメーターに異なる値が指定されている場合、Dekorate はapplication.ymlから取得する値を使用します。Dekorate は、以下の優先順位でプロジェクトリソースを解析します。- アノテーション
-
application.properties -
application.yaml -
application.yml
-
生成された
openshift.jsonおよびopenshift.ymlマニフェストファイルが含まれるtarget/classes/META-INF/dekorateディレクトリーに移動します。