24.3 응용 프로그램 속성 파일
SpringApplication
은 다음 경로에 있는 application.properties
파일의 프라퍼티들을 가져와서 Spring Environment
에 추가한다.
현재 디렉토리의 하위디렉토리인
/config
현재 디렉토리
클래스패스 상의
/config
패키지루트 클래스패스
위의 목록은 우선순위 순이다 (목록의 상위에 정의한 프라퍼티들은 하위에 정의한 것을 우선한다.)
또한 '.properties'대신 YAML ( '.yml') 파일 을 사용할 수 있습니다 . |
파일명으로 application.properties
말고 다른 것을 쓰려면 spring.config.name
환경 설정의 값으로 지정하면된다. 또 spring.config.location
환경설정을 사용해 명시적으로 위치를 지정할 수 있다. (디렉토리 위치나 파일 경로를 여러개 설정할 경우 구분자로 쉼표를 사용한다.) 다음 예제는 다른 파일명을 명시하는 방법을 보여준다.
다음 예제는 두개의 경로를 어떻게 지정하는지 보여준다.
spring.config.name
과 `spring.config.location'은 어떤 파일들을 로드할지 결정해야 하기 때문에 일찍 사용된다. 그래서 환경 설정Property으로 정의해야만 한다. (일반적으로 OS 환경변수, 시스템 프라퍼티 또는 Command line 인수)
spring.config.location
가 디렉토리들(파일의 반대의 의미로)을 지정하면 /
로 끝나도록 해야 한다. (그렇게 실행하면 로딩전에 프로필-관련 파일이름을 포함한 spring.config.name
의 파일명이 뒤에 붙는다.) spring.config.location
에 명시한 파일명은 프로파일 관련 변경 지원 없이 그대로 사용하고 모든 프로파일 관련 프라퍼티들을 덮어쓴다.
설정 위치는 작성된 역순으로 찾는다. 기본적인 설정 위치는 classpath:/, classpath:/config/, file:./, file:./config/
이다. 검색 순서 결과는 다음과 같다.
file:./config/
file:./
classpath:/config/
classpath:/
spring.config.location
을 사용해 사용자 정의 위치를 설정하면 그 설정이 기본 위치를 대신한다. 예를 들어 spring.config.location
에 classpath:/custom-config/,file:./custom-config/
을 설정하면, 검색 순서는 다음과 같다.
file:./custom-config/
classpath:custom-config/
spring.config.additional-location
을 사용해 사용자정의 설정 위치를 지정하면, 기본 위치에 추가되어 사용된다. 추가 위치는 기본 위치 전에 검색된다. 예를 들어 classpath:/custom-config/,file:./custom-config/
을 추가 위치로 설정하면, 검색 순서는 다음과 같다.
file:./custom-config/
classpath:custom-config/
file:./config/
file:./
classpath:/config/
classpath:/
이 검색순서를 이용하면 하나의 설정파일에 기본 설정 값들을 명시해서 선택적으로 다른 값으로 대체할 수 있다. 어플리케이션을 위한 기본값들은 기본 경로중 한 곳에 있는 application.properties
파일(또는 spring.config.name
으로 선택한 다른 기반이름basename)로 제공할 수있다. 이 기본값들은 실행시 사용자정의 경로 중 하나에 있는 다른 파일로 대체될 수 있다.
시스템 프라퍼티 말고 환경변수를 사용하는 경우, 대부분의 운영체제는 키 이름을 |
만약 어플리케이션이 컨테이너에서 실행된다면 jndi 프라퍼티( |
Last updated