Skip to Content
Suffering builds character

8.환경 설정 파일

1. 서버가 실행되는 환경에 따라 설정 파일 적용을 구분

.properties 파일이나 .yml 파일에 명시된 설정 프로퍼티 정보는 스프링의 Environment 객체에 로딩됨

이후 애플리케이션 클래스에서 Environment인스턴스에 접근하여 설정 정보를 읽을 수도 있으며, @Value를 통해 접근할 수도 있음

src/main/resources/application-test.properties src/main/resources/application-dev.properties src/main/resources/application-prod.properties

다른 설정 파일을 읽어서 test 환경에서 실행할 설정 정보를 기반으로 애플리케이션 실행

terminal
java -jar target/demo-0.0.1-SNAPSHOT.jar --spring.config.name=test-properties

→ 실행 옵션으로 spring.config.name을 통해 설정 파일의 이름을 지정 가능

스프링 부트에서는 프로파일(profile) 별로 프로퍼티 파일을 다르게 지정해서 사용할 수 있는데, 이러한 스프링 프로파일은 애플리케이션 설정의 일부를 분리해서 서버가 실행되는 환경별로 서로 다른 설정 파일을 적용하여 동작할 수 있도록 지원함

따라서 test 프로파일로 지정된 설정 정보는 test 환경에서만 적용되고, dev 프로파일로 지정된 설정 정보는 dev 환경에서만 적용됨

2. 애플리케이션을 빌드하기 전에 설정 파일 적용 방법

application.properties
spring.profiles.active=dev # dev 프로파일 활성화, application-dev.properties 로딩

스프링에서 제공하는 프로퍼티 외에 개발자가 커스텀으로 설정할 프로퍼티를 적용하기 위해서는@ConfigurationProperties 참고

Last updated on