1.13.2 PropertySource추출
Spring의 Environment
추상화는 속성 소스의 구성 가능한 계층에 대한 검색 작업을 제공합니다. 다음 목록을 고려하십시오.
이전 snippet에서는 my-property
속성이 현재 환경에 정의되어 있는지 여부를 Spring에 묻는 높은 수준의 방법을 살펴 본다. 이 질문에 대답하기 위해 Environment
객체는 ropertySource
객체 집합을 검색합니다. PropertySource
는 키 - 값 쌍의 소스에 대한 간단한 추상화이며 Spring의 StandardEnvironment
는 두 개의 PropertySource 객체 (하나는 JVM 시스템 속성 세트 (System.getProperties()
)를 나타내는 컨테이너 인스턴스이고 다른 하나는 시스템 환경 변수 세트System.getenv()
를 나타내는 하나의 PropertySource 객체로 구성됩니다).
이러한 기본 속성 소스는 |
구체적으로, StandardEnvironment를 사용하면 런타임에 my-property 시스템 등록 정보 또는 my-propertyi 환경 변수가있는 경우 env.containsProperty ( "my-property")를 호출하면 true가 반환됩니다.
수행 된 검색은 계층 적입니다. 기본적으로 시스템 특성은 환경 변수보다 우선합니다. 따라서 공통
|
가장 중요한 점은 전체 메커니즘을 구성 할 수 있다는 것입니다. 아마도ㅜ 이 검색에 통합하려는 속성의 사용자 지정 소스가있을 수 있습니다. 이렇게하려면 구현하고 자신의 PropertySource
인스턴스를 현재 PropertySourcesEnvironment
집합에 추가하십시오 . 다음 예제에서는이를 수행하는 방법을 보여줍니다.
앞의 코드에서 MyPropertySource는 검색에서 가장 높은 우선 순위로 추가되었습니다. my-property 속성이 있으면이 속성이 감지되어 다른 PropertySource의 my-property 속성을 사용하여 반환됩니다. MutablePropertySources API는 일련의 속성 소스를 정밀하게 조작 할 수있는 여러 메서드를 제공합니다.
Last updated