Spring Boot Property 로딩 및 적용 순서
property 파일 로딩 순서 간단 정리 1. (local) application 2. (local) application-{profile} 3. (server) application 4. (server) {spring.application.name} 5. (server) {spring.application.name}-{profile} 로딩 순서는 1 -> 5, 같은 값이 있을 때는 번호가 클 수록 winner (local은 application을 뜻하고, server는 spring cloud config 서버를 의미) Multiple Active Profile을 줄 때 dev, prd의 모든 property를 다 가져 오지만, 공통 값이 있을 경우 뒤에 것이 앞의 값을 덮는다. 아래와 같은 경우 dev와 prd에 겹치는 property가 있으면 prd가 dev의 값을 덮는다. -Dspring.profiles.active=dev,prd Config 서버 사용시 주의할 우선 순위 bootstrap에 아래와 같이 정의 되어 있고 active profile을 p1, p2로 주게 되면, 로컬은 application-p1, application-p2를 모두 로드 하고 같은 property가 있을 경우 p2가 p1의 값을 덮어 쓴다. 그러나 config 서버의 경우는 마지막에 선언된 active profile p2만 영향을 주어, 선언된 http://2.2.2.2:8888로부터 {application.name}-cp2.yml만 가져와 사용하고 공통 값이 있을 경우 로컬 property를 덮어 쓴다.(즉, cp1은 무시) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... --- spring: profiles: p1 cloud:...