Рубрики
Без рубрики

Профили весной

Используя аннотацию профиля в классе конфигурации, все компоненты в этом классе конфигурации ниже… С тегами spring, java, профили.

Используя аннотацию профиля в классе конфигурации, все компоненты в этом классе конфигурации принадлежат этому профилю.

@Configuration
@Profile("dev")
public class TestInfrastructureConfig {
}

Используя аннотацию профиля для метода компонента, этот компонент принадлежит этому профилю.

@Configuration
public class TestInfrastructureConfig {
  @Bean(name="dataSource")
  @Profile("dev")
  public DataSource dataSourceForDev(){
    ...
  }

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

}

Оба профиля имеют одинаковый идентификатор компонента, но будет активирован только один профиль.

  • Командная строка: При запуске приложения (лучший подход)
java -Dspring.profiles.active=dev -jar yourApplication.jar 
  • Системное свойство: По коду (комбинированный подход)
System.setProperty("spring.profiles.active", "dev");

Оригинал: “https://dev.to/eidher/profiles-in-spring-490p”