102

別のプロジェクトを使用する Spring プロジェクトがあります。各プロジェクトには、プロファイルごとapplicationContext.xmlに およびを使用して Java コードから初期化する独自のスプリング プロファイルがあります。*.propertiesからプロファイルを挿入しますargs[]問題は、2 番目のプロジェクトが 2 番目のプロジェクトから env のデフォルト構成を使用することです。2 番目のプロジェクトに applicationContext.xml env を注入できません。Springargs[]プロファイルがどのように機能するかを説明する記事を探してみました。

  1. デフォルトが設定されていない場合にプロファイルを表示する階層はありますapplicationContext.xmlか?
  2. システム変数は構成よりも強力applicationContext.xmlですか?
  3. 私の課題に対する最善の解決策は何だと思いますか?

その件に関する記事や例さえあれば大歓迎です!! 前もって感謝します。

4

9 に答える 9

156

SPRING_PROFILES_ACTIVE は、Spring プロファイルをオーバーライド/選択する環境変数です

于 2017-09-05T08:35:24.770 に答える
1

コマンドラインを実行するとjava -Dspring.profiles.active=development -jar yourApplication.jar 、webapplication ディレクトリからパスが正しくないと表示されます。したがって、次のようにapplication.propertiesファイルで手動でプロファイルを定義しました:

spring.profiles.active=mysql 

また

spring.profiles.active=postgres

また

spring.profiles.active=mongodb
于 2016-07-23T09:16:30.327 に答える
1

私の解決策は、環境変数を として設定することですspring.profiles.active=development。そのマシンで実行されているすべてのアプリケーションが変数を参照し、アプリケーションを開始するようにします。スプリングがプロパティをロードする順序は次のとおりです。

application.properties
system properties
environment variable
于 2016-07-22T08:09:24.490 に答える