Framework/Spring
Springboot application.yml 여러개 설정하기
호형
2022. 3. 14. 14:52
예전에 application.yml (or application.properties) 분리하는 방법에 대해 기술한적이 있다.
springboot 2.4 이상버전부터는 위와 같은 방법을 사용하지 않아도 된다. (springboot 2.4 미만은 위의 글을 참조해서 설정한다.) 바로 spring.config.import 를 이용하여 여러개의 properties 파일을 참조할 수 있다.
application.yml
spring:
config:
import:
- classpath:/config/a-config.yml
- classpath:/config/b-config.yml
- classpath:/config/c-config.yml
이런식으로 여러개의 yml을 가지고 올 수 있다.
a-config, b-config, c-config 는 현재 application 상에 위치해도 관계 없고, a project의 config/a-config.yml 이런식으로 library 안에 있어도 관계 없다. 어디든 위치해 있기만 하면 상관 없다. 하지만 참조하려는 파일이 없으면 오류가 난다.
우선순위는 맨 마지막에 기술한 파일이다. 같은 내용의 property가 a,b,c에 기술이 되어 있으면 c-config.yml 에 있는 내용으로 덮어씌워진다고 보면 된다.
이렇게 property 관련 설정을 application.yml로 관리하게 되니 위의 방법보다 더욱 깔끔한 코드가 된것 같아 좋다.
끝!