- Environment
- 프로파일과 프로퍼티를 다루는 인터페이스
- ApplicationContext extends EnvironmentCapable
- getEnvironment()
- 프로파일
- 빈들의 그룹
- Environment의 역할은 활성화할 프로파일 확인 및 설정
- 프로파일 유즈케이스
- 이 빈은 모니터링 용도이기에 테스트할 때는 필요가 없고 배포할 떄만 등록이 되면 좋겠다.
- 프로파일 정의하기
- 클래스에 정의
- @Configuration @Profile("test")
- @Component @Profile("test")
- 메소드에 정의
- @Bean @Profile("test")
- 클래스에 정의
- 프로파일 설정하기
- -Dspring.profiles.avtive="test"
- @ActiveProfiles
- 프로파일 표현식
- ! (not)
- & (and)
- | (or)
- 프로퍼티
- 다양한 방법으로 정의할 수 있는 설정값
- Environmenet의 역할
- 프로퍼티 소스 설정
- 프로퍼티 값 가져오기
- 프로퍼티의 우선순위
- StandardServletEnvironment의 우선순위
- ServletConfig 매개변수
- ServletContext 매개변수
- JNDI (java:comp/env/)
- JVM 시스템 프로퍼티 (-Dkey="value")
- JVM 시스템 환경 변수 (운영 체제 환경 변수)
- StandardServletEnvironment의 우선순위
- @PropoertySource
- Environment를 통해 프로퍼티를 추가하는 방법
- 스프링 부트의 외부 설정 참고
- 기본 프로퍼티 소스 지원 (application.properties)
- 프로파일까지 고려한 계층형 프로퍼티 우선 순위 제공