@Configuration で注釈が付けられた複数のクラスがあり、コンテキストに登録するものを最上位の構成コンポーネントで決定したいと考えています。
@Configuration
public class FileSystemDataStoreConfiguration {
public @Bean DataStore getDataStore() {
return new FileSystemDataStore(withSomeConfigProperties);
}
}
@Configuration
public class DatabaseDataStoreConfiguration {
public @Bean DataStore getDataStore() {
return new DatabaseDataStore(withSomeConfigProperties);
}
}
@Configuration
public class DataStoreConfiguration {
// Some arbitrary logic to decide whether I want to load
// FileSystem or Database configuration.
}
@Profile を使用して複数の構成クラスから選択できることを理解しています。ただし、私はすでにプロファイルを使用して環境を区別しています。構成クラスの選択は、環境に依存しません。
ロードする構成クラスを実行時に選択するにはどうすればよいですか?
"Production, WithDatabase" のような複数のアクティブなプロファイルを持つことはできますか?
その場合、プロパティに基づいてプロファイルを追加するにはどうすればよいですか?