반응형
개발 환경에 따라 properties 값이 다른 경우 하나의 properties 파일을
사용하기 보다 profile별로 구분하여 사용하는 방식이 좋다.
properties파일명 뒤에 profile 명을 다음과 같이 설정한 후
vm options에 다음과 같이 사용할 프로파일을
지정하면 해당 properties를 읽어서 사용할 수 있다.
먼저 @Configuration 어노테이션을 선언한
설정 클래스에서 프로퍼티를 읽을 수 있도록 설정을 추가한다.
@Profile("prod")
@Bean
public static PropertySourcesPlaceholderConfigurer prodProperties() {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
configurer.setLocations(new ClassPathResource("system_prod.properties"));
configurer.setFileEncoding(FILE_ENCODING);
return configurer;
}
@Profile("dev")
@Bean
public static PropertySourcesPlaceholderConfigurer devProperties() {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
configurer.setLocations(new ClassPathResource("system_dev.properties"));
configurer.setFileEncoding(FILE_ENCODING);
return configurer;
}
@Profile("test")
@Bean
public static PropertySourcesPlaceholderConfigurer testProperties() {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
configurer.setLocations(new ClassPathResource("system_test.properties"));
configurer.setFileEncoding(FILE_ENCODING);
return configurer;
}
@Profile("design")
@Bean
public static PropertySourcesPlaceholderConfigurer designProperties() {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
configurer.setLocations(new ClassPathResource("system_design.properties"));
configurer.setFileEncoding(FILE_ENCODING);
return configurer;
}
인텔리J를 사용하고 있을 경우에는 vm options에 사용할 프로파일을 지정한다.
-Dspring.profiles.active=dev
톰캣 파일에 직접 설정할 때는 setenv.sh 파일에 추가하면 된다.
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active={profile_name}"
반응형
'개발' 카테고리의 다른 글
안드로이드/IOS 에서 입력 필드 포커스 날리기 (0) | 2020.11.29 |
---|---|
안드로이드 usb디버깅 크롬으로 확인하기 (0) | 2020.11.29 |
자바 배열 자르기 subList의 문제점과 해결 방법 (0) | 2020.11.29 |
인텔리제이 .gitignore 사용하기 (0) | 2020.11.29 |
js/css 파일 캐시 방지 처리 (0) | 2020.11.29 |