작성
·
161
·
수정됨
0
섹션8의 Environment 추상화와 프로퍼티 제목의 강의의 막바지 부분에서 Environment Abstraction 의 우선순위에 대한 내용이 나옵니다.
강의 내용을 요약해보자면
ServletConfig Parameter < ServletContext Parameters < JNDI < System Properties < System Environment Variables < @PropertySource < application.properties, xml, yml 대로
오른쪽으로 갈 수록 우선순위가 높다라고 이해를 했습니다.
우선 저는 System Properties가 jvm 옵션을 말하는건가? 라는 생각을 가지고 들었고 그렇게 생각하고 위의 내용을 보니
jvm option의 우선순위가 os의 환경 변수보다 높아야 되는거 아닌가? 라는 궁금증이 생겼습니다.
제목 그대로 우선순위에 대한 내용에 오류는 없는것인지 궁금합니다.
++ 질문 수정
"자동 구성에 Environment 프로퍼티 적용" 강의를 들어보니 우선순위를 제가 반대로 이해한것 같습니다.
여기서 추가적으로 궁금증이 생겼습니다.
저는 application level의 설정이 더 우선해야 되는 것 아닌가? 라는 생각에
application property > jvm property > os level property 라고 생각을 했습니다.
하지만 스프링에서는
jvm property > os level property > application property
의 우선순위를 가지게 한 것 같은데 그 이유가 무엇일까요?
이것에 대한 생각이 어떠신지 궁금합니다.
그리고 우선순위의 변경을 원한다면 바꿀 수 있도록 스프링이 제공하는지도 궁금합니다!
감사합니다.
=======================
제가 강의 내용을 끝까지 안듣고 궁금한것을 적었는데..
질문을 남기고 나머지 강의를 들어보니 궁금했던 내용이 해소가 됐네요.
자문 자답하자면, application의 설정을 default로 하되, 어떤 환경에서 어떤 사용자가 사용하냐에 따라 설정이 달라질 수 있어야 하기 때문에 jvm, os level의 property보다 우선순위가 낮아야 할 것입니다.
이왕 글을 남긴거 삭제하기 뭐해서 남겨두겠습니다.