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 がインストールされている。

手順

  1. アプリケーションの 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>
  2. Dekorate 設定プロパティーをプロジェクトの application.properties ファイルまたは application.yml ファイルに追加します。Dekorate プロパティーアノテーションをソースファイルに追加する必要はありません。ソースファイルのアノテーションを使用できますが、これを行う場合は、アノテーションで提供されるパラメーターを application.properties ファイルまたは application.yml ファイルにあるパラメーターで上書きします。
  3. アプリケーションをパッケージ化します。

    mvn clean package

    アプリケーションの Dekorate をビルドすると、アプリケーションプロジェクト内の以下のリソースの設定が解析されます。設定リソースは優先順に解析されます。つまり、異なるタイプの 2 つの異なるリソースが同じ設定パラメーターに異なる値を持っている場合、Dekorate は優先度のリストにあるリソースから取得した値を使用します。たとえば、ソースのアノテーションがパラメーター値を指定するものの、application.yml の同じパラメーターに異なる値が指定されている場合、Dekorate は application.yml から取得する値を使用します。Dekorate は、以下の優先順位でプロジェクトリソースを解析します。

    1. アノテーション
    2. application.properties
    3. application.yaml
    4. application.yml
  4. 生成された openshift.json および openshift.yml マニフェストファイルが含まれる target/classes/META-INF/dekorate ディレクトリーに移動します。