부트 개념과 활용-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