본문 바로가기
Spring

[Spring] properties 가져오기 (1) - 종류, 우선순위

by 노력남자 2023. 2. 10.
반응형

인프런에서 토비님의 스프링 부트 강의를 듣다가 외부 설정 읽어오는 방법이 나오길래 궁금해서 찾아보고 정리한다.

 

application.yml이나 application.properties가 전부인줄 알았는데 그게 아니였다.

 

property 종류 및 우선순위

 

정말 여러가지가 있는데 여기에 우선순위가 있다.

 

properties를 호출할 때 우선순위가 높은 것부터 가지고 온다.

 

  1. devtools가 active일 때 $HOME/.config/spring-boot에 있는 Devtools global settings properties
  2. 테스트에 있는 @TestPropertySource 어노테이션
  3. 테스트에 있는 properties 속성 (@SpringBootTest, 애플리케이션 일부를 테스트하기 위한 test 어노테이션에 사용 가능)
  4. 커맨드라인 arguments
  5. SPRING_APPLICATION_JSON에 있는 프로퍼티 (환경 변수나, 시스템 프로퍼티에 내정된 인라인 JSON)
  6. ServletConfig init 파라미터
  7. ServletContext init 파라미터
  8. java:comp/env의 JNDI 속성
  9. 자바 시스템 properties (System.getProperties())
  10. OS 환경 변수
  11. random.* 프로퍼티만 가지고 있는 RandomValuePropertySource
  12. application.properties, application.yml (properties와 yml이 같이 있는 경우 properties가 우선)
  13. @Configuration 클래스에 있는 @PropertySource
  14. SpringAplication.setDefaultProperties에 설정한 값

 

뭐가 정말 많은데 대부분 처음 보는 설정들이다.

 

3, 9, 10, 12, 13 정도만 보면될 거 같다.

 

다음 포스팅에선 properties를 읽어오는 4가지 방법에 대해 알아보겠다.

 

[Spring] properties 읽어오는 방법 (2) - 4가지 방법으로 읽어오기

바로 앞 포스팅에서 properties의 종류와 우선순위에 대해 알아봤다. 이번 포스팅에선 properties를 읽어오는 4가지 방법에 대해 알아보겠다. properties 읽어오는 방법 아래와 같이 4가지가 있다. 하나씩

effortguy.tistory.com

 

참고

 

https://docs.spring.io/spring-boot/docs/2.5.2/reference/htmlsingle/#features.external-config

반응형

댓글