1. ホーム
  2. spring

[解決済み] Spring Bootアプリケーションの環境指定application.propertiesファイル [終了しました]。

2022-11-18 19:51:11

質問

Spring Bootアプリケーションで、環境固有のプロパティファイルを作成したいと思います。アプリケーションのパッケージングタイプはwarで、組み込みのtomcatで実行しています。stsを使用し、sts自身からmainを実行します。

  1. application-${env-value}.properties のような環境固有のプロパティファイルを持つことができますか?

上記の場合、env-valueはlocal/devl/test/prodのような値を持つことになります。

  1. env-valueファイルはどこに設定するのでしょうか?ローカルの場合、stsでjvmの引数として設定することができます。

  2. Spring Bootアプリケーションのapplication.propertiesは誰が読んでいるのか。

  3. 環境固有のプロパティファイルはどのように読み込むのですか?例えば、データベースのuid,pwd,schemaなどを環境固有のプロパティファイルに設定した場合、データソースはその中のプロパティを理解することができるのでしょうか?

  4. application.propertiesとapplication-local.propertiesを同時に使用することは可能ですか?

どのように解決するのですか?

Spring Bootはすでに がサポートされています。 のために プロファイル ベースのプロパティになります。

単に application-[profile].properties ファイルを追加し、使用するプロファイルを spring.profiles.active プロパティを使って使用するプロファイルを指定します。

-Dspring.profiles.active=local

これは application.propertiesapplication-local.properties で、後者は最初のプロパティからオーバーライドします。