1. @Profile
- DevConfiguration 생성
@Profile("dev")
@Configuration
public class DevConfiguration {
@Bean
public String hello() {
return "hello dev";
}
}
- ProdConfiguration 생성
@Profile("prod")
@Configuration
public class ProdConfiguration {
@Bean
public String hello() {
return "hello prod";
}
}
- application.properties 설정
spring.profiles.active=prod
- 활용 코드
@Component
public class SampleRunner implements ApplicationRunner {
@Autowired
private String hello;
@Autowired
SampleProperties sampleProperties;
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println(" =================== ");
System.out.println( sampleProperties.getName() );
System.out.println( hello );
System.out.println(" ===================");
}
}
- 결과
jacob
hello prod
2. application.properties 구분
- resources 하위에 application.properties 파일을 구분하여 만듬
resources
+- application.properties
+- application-prod.properties
+- application-dev.properties
- Promgram arguments에 profile 설정
--spring.profiles.active=prod
- 출력 결과는 application-prod.properties에 설정된 값 출력
3. application-{}.properties 포함하기
- application-devdb.properties 작성
sample.name=dbdbdb
- application-dev.properties 파일에 아래 설정
spring.profiles.include=devdb
- 출력 결과
dbdbdb
hello dev
- application-devdb.properties 값으로 override 됨
댓글남기기