リンク明確な財産元に各プロファイル(.propertiesファイル)
@Configuration
public class AppConfig
{
@Configuration
@Profile("dev")
@PropertySource("classpath:localdb.properties")
static class LocalDb
{ }
@Configuration
@Profile("prod")
@PropertySource({"classpath:remotedb.properties"})
static class RemoteDB
{}
は、VMの引数
-Dspring.profiles.active=dev
またはプログラム的
SpringApplication.setAdditionalProfiles(..)
//or
ConfigurableEnvironment environment = this.applicationContext.getEnvironment();
environment.setActiveProfiles("dev");
// or in case of WebAppContext via web.xml
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value> // or prod
</context-param>
//or in case of WebAppContext if using servlet 3.1+ container set programatically
servletContext.setInitParameter("spring.profiles.active", "dev");
を介して活性プロファイルの定義を使用すると、プロファイルによってグループ化を検討しています'@ Profile'を介して? – fg78nc
もちろん、Springのプロファイルや自動設定を使った条件付き有効化を使うことはできますが、別のグループに属するクラスを分離する新しい方法を発明しようとしているのはなぜか分かりません。ちょうど別のパッケージを使用して移動してください。 –
@AbhijitSarkarはい、別のパッケージを作成して完了するのは簡単です。しかし、時には、特定のプロジェクトの慣行に従い、関係する人々が構造を見るだけで各コンポーネントの機能を容易に推測できるようにします。 –