アクティブなプロファイルを変更する方法はいくつかありますが、プロパティ ファイルから直接取得する方法はありません。
- 質問で行っているようにを使用でき
<init-param>
ます。
- アプリケーションの起動時にシステム パラメータを指定できます
-Dspring.profiles.active="master"
ConfigurableEnvironment
からプログラムでApplicationContext
取得できますsetActiveProfiles(String...)
context.getEnvironment().setActiveProfiles("container");
を使用しApplicationListener
て、コンテキストの初期化をリッスンできます。その方法についてはこちらで説明しています。あなたが使用することができますContextStartedEvent
ContextStartedEvent event = ...; // from method argument
ConfigurableEnvironment env = (ConfigurableEnvironment) event.getApplicationContext().getEnvironment();
env.setActiveProfiles("master");
"master"
必要に応じてプロパティ ファイルから値を取得できます。