echo_sxy

echo_sxy

バージョン切り替え-プロフィールの使用

Profile は、Spring でよく使用される機能であり、異なる環境設定に基づいて異なる設定ファイルを読み込むことで、異なる設定ロジックを実現することができます。

Spring のプロファイル#

Spring Boot では、プロファイルは設定ファイルを使用して実現されます。異なる環境では、異なる設定ファイルを読み込むことができ、異なる設定ロジックを実現することができます。具体的には、Spring Boot は次の種類の設定ファイルをサポートしています:

application.properties
application.yml
application-{profile}.properties
application-{profile}.yml。

application.properties と application.yml は共通の設定ファイルであり、すべての環境で読み込まれます。一方、application-{profile}.properties と application-{profile}.yml は、異なるプロファイルに基づいて読み込まれる設定ファイルです。アプリケーションが起動するとき、Spring Boot は現在の環境変数に基づいてどの設定ファイルを読み込むかを決定します。たとえば、現在の環境変数が dev である場合、application-dev.properties または application-dev.yml ファイルが読み込まれます。

使用方法#

実際の開発では、プロファイルを使用して次のような機能を実現することができます:

  • 異なる環境の区別、例えば開発環境、テスト環境、本番環境。
  • 異なるデータベース接続情報の設定、例えば開発環境ではローカルの MySQL データベースを使用し、テスト環境ではリモートの MySQL データベースを使用し、本番環境では阿里云の RDS データベースを使用する。
  • 異なるログレベルの設定、例えば開発環境では DEBUG レベルを使用し、テスト環境では INFO レベルを使用し、本番環境では WARN レベルを使用する。

設定ファイルを使用して切り替える#

プロジェクトの resources ディレクトリに、application-prod.properties、application-test.properties、application-dev.properties の 3 つの異なる設定ファイルを作成します。プロジェクトの設定ファイルで、現在のプロファイルを設定する必要があります。次の 2 つの方法があります:

  • application.properties ファイルで設定する。

spring.profiles.active=dev

  • 起動コマンドで設定する。

java -jar myproject.jar --spring.profiles.active=dev

Maven のプロファイル#

Maven のプロファイルの原理は、プロファイルのセットを定義し、異なるプロファイルで異なるプロパティ値のセットを定義することで、プロファイルの選択によって異なるプロパティセットを有効にすることです。
pom.xml ファイルに異なるプロファイルを追加します:

次に、次のように pom.xml を設定します。これにより、src/main/resources/${profiles.active} のフォルダ内の設定ファイルが使用されます。

これで、IDEA でプロファイルを切り替えることができます。
この設定では、dev と prod の 2 つのプロファイルが追加されており、activeByDefault はデフォルトで選択されることを示しています。

  • Maven の起動時に、-P オプションを使用して指定したプロファイルを指定します。例:mvn spring-boot -Pdev
  • Maven のパッケージング時に、-P オプションを使用して指定したプロファイルを指定します。例:mvn package -Pdev -DskipTests

WAR パッケージをビルドする際には、リソースファイルの処理段階を経るため、maven-resources-plugin がリソースファイルを処理するために使用されます。pom.xml の build ノードで次のように設定します:

拡張#

Maven のインストールパッケージの conf/setting.xml にもプロファイルがあります。
pom にも profiles 属性があることを知っていますが、settings.xml の profile と pom の profile の違いは、settings.xml の profile には activation、repositories、plugineReositories、properties の 4 つのサブ要素しかありません。通常、リポジトリ情報を設定するために使用されます。

読み込み中...
ページは、創作者によって署名され、ブロックチェーンに安全に保存されています。