inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

설정 데이터1 - 외부 파일

설정 데이터1 외부파일 질문이요.

333

Minkoo Lee

작성한 질문수 44

2

gradlew clean build를 하여 jar파일을 만든 후

~/build/libs/ 에 application.properties 만들고

url, username, password 키 값 형식으로 강의처럼 입력했습니다.

그러데 윈도우 같은경우 username값을 찍어보면 제 윈도우계정이 찍히는게 OS 쪽이 우선순위가 높아서 파라미터 곂칠때 그게 먼저 찍히는건가여?

전 영상처럼 dev2_user가 안찍히고, 윈도우계정이 찍히네요.

현재는 윈도우에서 set 으로 확인시 환경변수의 username과 곂치고 있습니다.

좁은 범위가 먼저 적용되야한다 라는 규칙이랑 다른거 같아서 OS환경변수가 넓은범위라고 한다면, 프로퍼티 파일 적용은 좁은 범위 아닌가 해서 여쭤봅니다.

 

spring spring-boot prometheus grafana

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Minkoo Lee님의 질문은 application.properties 파일에서 설정한 username 값이 기대와 다르게 윈도우 시스템의 사용자 계정 이름으로 대체되는 문제와 관련이 있습니다. 이 문제는 환경 변수의 우선순위가 높아서 발생한 것으로 추정됩니다.

윈도우에서 시스템 환경 변수가 Spring application.properties에서 설정한 변수보다 더 높은 우선순위를 가지기 때문에, 같은 이름의 환경 변수가 있다면 해당 값이 우선적으로 사용됩니다. 이 경우 username 환경 변수로 인해 문제가 발생한 것입니다.

이와 유사한 상황에 대한 해결 방법이 아래 링크에 있습니다.

  • 외부 파일 주입에서는 username이 윈도우의 시스템 환경 변수로 인해 예상과 달리 출력되는 문제에 대한 질문과 답변이 있습니다. 이 답변에서는 시스템 환경 변수를 확인하라고 안내하고 있으며, application.properties보다 우선순위가 높은 시스템 환경 변수 떄문에 발생하는 문제를 설명합니다. 이를 해결하기 위해 시스템 환경 변수의 이름을 변경하거나 application.properties에서 다른 변수명을 사용하라고 권장합니다. 예를 들어 my_username과 같은 이름을 사용하고, 코드 내에서 해당 변수를 불러올 때도 my_username을 사용하도록 합니다.

이 제안을 참고하여 Minkoo Lee님의 문제도 해결할 수 있을 것으로 생각됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

보안이 엄격한 데이터

0

73

1

MyProperties 자체를 클라이언트 코드에서 사용

1

43

1

http://localhost:8080/actuator/prometheus

0

85

3

jar 추가에대한 질문드려도될까요?

0

64

1

build.gradle bom link 변경

0

65

2

@Counted 초기화

0

47

1

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

0

101

2

springboot에서 actuator없이 micrometer를 사용할수 있나요?

0

67

1

@Configuration 질문드립니다.

0

84

2

[공유] 터미널 말고 IDE 에서 jar 실행하기

0

101

1

localhost:8080/hello-servlet 404오류

0

123

2

내장톰캣2 서블릿 톰켓 실행이 안됩니다

1

154

2

최대 Tomcat 스레드 수를 확인하는 지표

0

160

1

mac m2에서 startup.sh 실행후 아무 반응이 없습니다.

0

94

2

내장 톰캣 실행 오류 관련 질문드립니다.

0

158

1

스프링 발전 과정들도 자세히 알아둬야하나요??

1

127

1

스프링부트 ioc 컨테이너 갯수

0

89

1

404 페이지

0

133

3

actuator 호출시 타임스탬프 질문

0

90

1

순수 라이브러리 사용하기 2 - memory-v1

0

125

1

외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.

0

105

1

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

0

93

1

Thread Config Max 패널 설정 변경 질문

0

128

1

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

0

107

1