봄의 프로필

2406 단어 profilesspringjava
Configuration 클래스의 Profile 어노테이션을 사용하면 해당 Configuration 클래스의 모든 Bean이 해당 프로필에 속합니다.

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


Bean 메소드에서 Profile 어노테이션을 사용하면 해당 Bean은 해당 프로파일에 속합니다.

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

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

}


두 프로필 모두 동일한 빈 ID를 갖지만 하나의 프로필만 활성화됩니다.

프로필 활성화


  • 명령줄: 애플리케이션을 실행할 때(더 나은 접근 방식)

  • java -Dspring.profiles.active=dev -jar yourApplication.jar 
    


  • 시스템 속성: 코드별(결합 방식)

  • System.setProperty("spring.profiles.active", "dev");
    

    좋은 웹페이지 즐겨찾기