inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

Environment#getProperty() 호출 시 application.properties의 요소보다 systemEnvironment의 요소를 우선적으로 읽는 문제

미해결

스프링 부트 - 핵심 원리와 활용

[문제 상황] Environment 스프링 빈 객체 env가 있습니다. env.getProperty("username"); 호출 시 "admin"이 출력됩니다. 이는 application.properties 에서 지정하지 않은 값입니다. 디버그 모드로 찾아본 결과 Environment 객체가 application.properties 파일보다 systemEnvironment에 저장된 값을 더 우선적으로 가져오는 것 같습니다. - 아래 사진 참고 application.properties 파일 url=local.db.com username=local_user password=local_pw #--- spring.config.activate.on-profile=dev url=dev.db.com username=dev_user password=dev_pw #--- spring.config.activate.on-profile=prod url=prod.db.com username=prod_user password=prod_pw Environment#getProperty("username"); 실행 결과 [질문] systemEnvironment는 어디에 저장된 값인가요. systemEnvironment보다 application.properties 가 더 좁은 범위니까 더 우선순위가 높아야 되는 거 아닌가요? systemEnvironment가 우선적으로 읽힌 원인(원리)이(가) 궁금합니다. 어떻게 해야 application.properties 파일의 값을 제대로 읽을 수 있나요.

  • spring
  • spring-boot
  • environment
  • systemenvironment
오종화 댓글 2 좋아요 0 조회수 1024

인기 태그

인프런 TOP Writers

주간 인기글