설정 파일 분리
application.yml을 사용하는 경우에는 "---"를 사용하여 설정을 분리할 수 있다.
server:
port: 8089
spring:
profiles:
active:
- test
application:
name: pj2
---
server:
port: 8089
spring:
profiles:
active:
- dev
application:
name: devPj2
또한, profile 단위로 설정 파일 자체를 분리할 수도 있다.
- application-dev.yml
- application-test.yml
- application-{profile}.yml
각각의 파일은 spring application을 실행 시 args 등으로 넘기는 spring.profiles.active로 결정되어진다.
java -jar myApp.jar --spring.profiles.active=dev
여러 개의 설정파일
하나의 profile에서 사용되는데 여러개의 설정 파일을 로드하고 싶은 경우가 존재할 수 있다.
이러한 경우에는 어떻게 설정하는지 알아보자.
spring.config.location
이 설정은 spring config의 기본 설정을 재정의하여 여러 가지의 설정 파일을 로드할 수 있다.
spring config에서 default로 제공하는 값은 아래와 같다.
사용자가 spring.config.location을 정의하면 default값은 덮어써지게 된다.
spring.config.additional-location
이 설정은 추가적인 위치를 설정하는 것이다.
location 설정에 플러스로 더 설정하고 싶은 경우
spring.config.location, spring.config.additional-location 설정은 application.yml 파일을 로드하기 전에 사용되는 설정으로 해당 파일에 설정하면 동작하지 않는다.
SystemProperties나 CommandLine Argument로 전달해야 정삭적으로 사용될 수 있다.
java -jar myApp.jar --spring.config.additional-location=optional:classpath:test.yml
spring.config.import
해당 설정은 spring boot 2.4 이후부터 추가된 설정으로 위에 설명한 설정들과 달리 application.yml를 통해서 추가적인 설정 파일의 위치를 설정할 수 있다.
spring:
config:
import:
- optional:classpath:/test.yml
위의 내용들에 아래 spring문서를 확인하면 더욱 자세하게 확인 할 수있다.
'Spring > etc' 카테고리의 다른 글
[Spring] ResponseBodyAdvice 사용 ( + @ControllerAdvice ) (0) | 2022.02.14 |
---|---|
[Spring] Spring Boot Profile 환경별 설정 (2.4버전) (1) | 2022.01.29 |
[Spring] Controller DTO 데이터 검증 - @Valid (0) | 2022.01.11 |
[Spring] Spring Boot Logging(SLF4J, Logback) (0) | 2021.12.13 |
[Spring] Spring Security 로그인 사용자 정보 가져오는 방법 (0) | 2021.12.01 |