위의 조건을 하기 위해서는 다음의 3가지중 하나를 설정하는게 좋다
1) WAS의 프로퍼티 설정 (예를들어 tomcat 같은)
2) WAS를 실행할 때 설정
3) web.xml
4) maven을 사용한다면 maven에서 가능
등으로 나눌 수 있다.
상황에 따라 크게 2가지로 나뉠수 있겠다.
1) 소스 변경을 허용하지 않을 때 => 각각의 WAS에 직접설정
2) 소스 변경을 허용할 때 => 프로퍼티 등에 직접 설정한다.
1) WAS의 프로퍼티 설정 (여기서 예시는 톰캣을 이용한다)
catalina.properties 파일을 연 후에 다음의 값을 넣어준다.
spring.profiles.active=local,test
2) WAS 를 실행할 때 설정
-Dspring.profiles.active=local
########### 이제 설정한 값을 사용하는 법을 알아보자.
다음의 설정을 Class에 선언해두면 Bean을 선별적으로 생성이 가능하다.
@Component
@Profile({"local","test"})
public class AnyComponent {
...
}
위의 설정대로라면 local 또는 'test' 로 설정되어 있는 곳에서만 해당 빈이 실행된다.
주로 배치를 특정 서버에서 돌려야만 하거나 할 때 사용하면 유용하다.
참고로 여기서 설정한 세팅을 JAVA에서 써야할 경우 다음과 같이 하면 가능하다.
@Value("${spring.profiles.active}")
String active;
void test(){
// 값 확인
System.out.println(active);
}
'공부 > 프로그래밍' 카테고리의 다른 글
[CSS] float 중앙 정렬 (0) | 2017.08.26 |
---|---|
[bootstrap] 모달팝업 할때 배경에 회색 배경 안나올 때. (0) | 2017.08.25 |
[JAVA] Map 의 Key 값을 모두 소문자로 변경(DB 등) (0) | 2017.06.02 |
[Spring] 컨트롤에 들어오는 파라미터나 리턴 지정(Resolver) (0) | 2017.05.30 |
[Spring] UserException 만들어두기. (0) | 2017.05.26 |
댓글