inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

정리

데이터소스 매핑방식에도 Environment 를 사용하는 걸까요?

해결된 질문

269

jaden

작성한 질문수 44

0

 [질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)

2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)

3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)


[질문 내용]
스프링에서 datasource 빈을 생성할 때 application.yml 파일의 url, username .. 속성들을 매핑해 사용하는데, 이런 매핑역시 Environment 를 활용해서 내부적으로 매핑되는걸까요?
만약 그렇다면 우선순위가 높은 자바시스템속성으로 url 정보를 주면 yml 파일보다 자바시스템속성이 먼저 읽히게 되는게 맞을까요?

spring spring-boot prometheus grafana

답변 1

1

나무늘보

안녕하세요. jaden님, 공식 서포터즈 코즈위버입니다.

이해하신 내용이 맞습니다. Environment 객체는 application.properties 에 작성한 값을 사용합니다. 우선순위 부분은 찾아보니 다음과 같은 순서를 따른다고 하네요.

  1. @TestPropertySource 어노테이션에 정의된 속성

  2. @SpringBootTest#properties 어노테이션에 정의된 속성

  3. 커맨드 라인 인수 (예: --server.port=8080)

  4. SPRING_APPLICATION_JSON 환경 변수에 정의된 속성

  5. 자바 시스템 속성 (System.getProperties()로 가져올 수 있는 속성)

  6. OS 환경 변수

  7. @PropertySource 어노테이션에 정의된 속성

  8. ServletConfig init 매개변수

  9. ServletContext init 매개변수

  10. application.propertiesapplication.yml 파일에 정의된 속성

 

감사합니다.

보안이 엄격한 데이터

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