부트 개념과 활용-11.프로파일


프로파일

  • @Profile 애노테이션은 어디에?
    • @Configuration
    • @Component
  • 어떤 프로파일을 활성화 할 것인가?
    • spring.profiles.active
  • 어떤 프로파일을 추가할 것인가?
    • spring.profiles.include
  • 프로파일용 프로퍼티
    • application-{profile}.properties

빈으로 프로파일 정의

@Profile("prod") // prod 라는 프로파일일때만 이 빈이 사용이 된다.
@Configuration
public class BaseConfiguration {

    @Bean
    public String hello() {
        return "hello";
    }
}
@Profile("test") // test 프로파일일 경우에만 이 빈 사용
@Configuration
public class TestConfiguration {

    @Bean
    public String hello() {
        return "hello test";
    }
}

프로파일에 설정

# 적용된다는 건, profile도 properties 이다. 즉 profiles의 우선순위가 그대로 적용 (이전 포스트)
spring.profiles.active=test 

이러면

@Autowired
private String hello;
...

System.out.println(properties.getName());

주입 받고 출력시 hello test test 프로파일 적용 - TestConfiguration 빈 사용

혹은
@Profile(“test”) // test 프로파일일 경우에만 이 빈 사용 @Configuration
적용된 클래스 대신 프로파일로도 설정이 가능하다.

application-oooo.properties 형식

ex.
application-prod.properties

people.name=prod jaeuk

application-test.properties

people.name=test jaeuk





© 2019. by jaeuk