Spring profile
profile 활성화 방법
- context의 environment 오브젝트를 가져와 setActiveProfiles() -> context.refresh
rootContext.getEnvironment().setActiveProfiles(toChangeProfile); rootContext.refresh(); |
- 시스템 프로퍼티
export spring.profiles.active=dev |
- 환경변수 설정
- JVM 파라미터
-Dspring.profiles.active=dev |
- web.xml
root-context에 적용 <context-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-value> </context-param> |
survlet-context에 적용 <init-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-value> </init-param> |
-jndi
-application context initializer or web application initializer + maven profile, filtering
-> maven을 통해 profile 설정 -> filter를 통해 properties 값 수정 -> application context initializer를 통해 해당 properties 값 읽어서 context environment의 setActiveProfiles 수행
-junit4
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@ActiveProfiles("dev")
|
-maven을 통해 profile 설정 한 후 특정 properties 로딩, spring 에서 환경 변수 사용 (But Spring의 profile이 아님)
결론을 내려야 하는데...
application context initializer or web application initializer + maven profile, filtering 방식이 조금 좋을 것 같다.
그럼 initializer에 대해서 어떻게 구현하는지 연구 !!!
댓글
댓글 쓰기