ホームページ >Java >&#&チュートリアル >SpringBoot は開発環境と製品環境を切り替えるために複数の構成ファイルをどのようにロードしますか?

SpringBoot は開発環境と製品環境を切り替えるために複数の構成ファイルをどのようにロードしますか?

王林
王林転載
2023-05-12 23:58:161815ブラウズ

1. SpringBoot での複数環境の切り替え

SpringBoot では、application.properties に加えて、作成する他の設定ファイルのファイル名が application-{profile}.properties# を満たす必要があります。 ## 形式。 {profile} は環境識別子 (.properties ファイルである必要はなく、.yml の場合もあります) に対応し、対応する {profile} 値は次のようにカスタマイズされます。開発者 (dev、product など) は、プロジェクトを開始するときに、対応するパラメーターを追加するだけで済み、springboot が構成ファイルを読み取ります。特定のプロファイル構成は、spring.profiles.active プロパティを通じて application.properties ファイルに設定されます。次に、例を使用して説明します。

(1) まず、ここで dev、product、qa、stage、default application の 5 つの構成ファイルが作成されます

SpringBoot は開発環境と製品環境を切り替えるために複数の構成ファイルをどのようにロードしますか?

#(2) 設定ファイルをロードする際、最初に application.properties 設定ファイルがロードされ (一部の公開設定は通常ここに保存されます)、ロードされる環境の設定ファイルはこのファイル内に設定されます。メソッド。

たとえば、開発環境をロードするには、application.properties

spring.profiles.active=dev

で次のように構成するか、以下に示すように @spring.profiles.active@ を使用します

spring.profiles.active=@spring.profiles.active@

これを使用する場合 この方法では、次の内容を pom.xml に追加する必要があります。

activeByDefault タグは、プロジェクトの開始時にデフォルトで読み込まれる構成ファイルを指定します。

<profiles>
  <profile>
    <id>dev</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <spring.profiles.active>dev</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>qa</id>
    <properties>
      <spring.profiles.active>qa</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>stage</id>
    <properties>
      <spring.profiles.active>stage</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>product</id>
    <properties>
      <spring.profiles.active>product</spring.profiles.active>
    </properties>
  </profile>
</profiles>

mvn clean package -P dev コマンドを実行してプロジェクトをパッケージ化して公開すると、jar/war パッケージ内の構成ファイルの @spring.profiles.active@ が dev に置き換えられます。

@spring.profiles.active@ は、POM 内のラベル > と一致している必要があります。そうでない場合は、エラーが報告されます。

SpringBoot は開発環境と製品環境を切り替えるために複数の構成ファイルをどのようにロードしますか?

2. SpringBoot での設定ファイルの読み込み順序

設定ファイルの優先順位 (どの設定ファイルが正確であるか) ):

1. プロジェクトのルート ディレクトリの下の config ディレクトリ。 [最優先]##2. プロジェクトのルートディレクトリ。

3. クラスパス下の config ディレクトリ。
4. クラスパス ディレクトリ (新しいプロジェクトを作成するときの application.properties のデフォルトの場所)。 [最低優先度]

設定ファイルのロード順序は優先順位と逆で、重複した設定がある場合、最初にロードした設定ファイルが上書きされるため、優先度の低い方が先にロードされます。

同じレベルのディレクトリに、

application.yml

application.properties 構成ファイルが同時に存在する場合、application.properties 構成ファイルが優先されます。つまり、最初に .yml ファイルをロードし、次に .properties ファイルをロードします。

SpringBoot は開発環境と製品環境を切り替えるために複数の構成ファイルをどのようにロードしますか?優先順位: 1->2->3->4->5。

ファイルのロード順序: 5->4->3->2->1。

以上がSpringBoot は開発環境と製品環境を切り替えるために複数の構成ファイルをどのようにロードしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。