春のプロフィール


構成クラスでプロファイル注釈を使用すると、その構成クラスのすべてのbeanがそのプロファイルに属します.
@Configuration
@Profile("dev")
public class TestInfrastructureConfig {
}
Beanメソッドでプロファイル注釈を使用すると、そのbeanがそのプロファイルに属します.
@Configuration
public class TestInfrastructureConfig {
  @Bean(name="dataSource")
  @Profile("dev")
  public DataSource dataSourceForDev(){
    ...
  }

  @Bean(name="dataSource")
  @Profile("prod") // or @Profile("!dev")
  public DataSource dataSourceForProd(){
    ...
  }

}
両方のプロファイルは同じbean idを持ちますが、1つのプロファイルだけが起動されます.

活性化プロファイル
  • コマンドライン:アプリケーションの実行(より良いアプローチ)
  • java -Dspring.profiles.active=dev -jar yourApplication.jar 
    
  • システムプロパティ:コードによるアプローチ
  • System.setProperty("spring.profiles.active", "dev");