アクティブなプロファイルを変更する方法はいくつかありますが、プロパティ ファイルから直接取得する方法はありません。
- 質問で行っているようにを使用でき
<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"必要に応じてプロパティ ファイルから値を取得できます。