2021. 9. 3. 00:29ㆍ개발공부/SpringBoot
spring boot application.properties/yaml profile 설정
1) Externalized Configuration(application.properties/yaml)
spring boot는 설정들을 편리하게 주입할 수 있게 application.properties / yaml
을
이용한 외부 설정(Externalized configuration)이 가능합니다.
SpringApplication
은 properties를 다음 경로에 위치한 application.properties
로부터
읽어들여 스프링 환경설정에 추가합니다.
- 현재 디렉토리의
/config
서브 디렉토리 - 현재 디렉토리
/config
패키지의 classpath- classpath root
(위에서 밑으로 설정이 적용되는 우선순위입니다.)
2) profiles 설정
그리고 dev, production, stage, local 등 build나 테스트 환경에 따라
profile을 나눠 관리해서 사용이 가능한데, 회사 프로젝트에서 yaml
의 profiles를 사용
하다 properties로 변경해볼 기회가 생겨 차이점을 알게 돼 공유하려 합니다.yaml
의 경우 profiles를 아래처럼 spring:profiles:group:
과 spring:config:activate:on-profile
을
이용해 그룹화가 가능하단 장점이 있었습니다.
spring:
profiles:
group:
stage:
- "test"
- "common"
---
#local, dev, prod 공통 설정
spring:
config:
activate:
on-profile: "common"
반면 비교적 갈수록 사용자들이 적어지고 있는 properties
의 경우 네이밍 컨벤션을 지켜application-{profile}.properties
로 명명해주면 애플리케이션을 실행할 때
지정한 active profile
이름과 연동해 해당 properties
파일을 Run 해줍니다.
3) profiles 적용
IntelliJ Ultimate
버전은 편리한 Run/Debug 환경설정 GUI를 제공해줍니다.
(Community 사용자의 경우 jojoldu님의 블로그 를 참고하시기 바랍니다.)Run -> Edit configuration -> Spring Boot -> Active profiles
참고자료 :
spring.io - 21.Externalized Configuration(for .properties
)
'개발공부 > SpringBoot' 카테고리의 다른 글
[번역자료] spring boot Logback(로그) (0) | 2021.09.17 |
---|---|
logger spring xml (0) | 2021.07.01 |
String Boot - Test Driven Development(TDD) (0) | 2020.07.17 |
Spring Boot - Orientation (0) | 2020.07.14 |