Property
property란 말그대로 내가 필요한 정보값들을 저장해서 사용하는 설정값을 말한다.
Enviroment의 역할을 프로퍼티 소스의 설정및 프로퍼티 값을 가져온다.
우선순위
ServletConfig 매개변수
ServletContext 매개변수
JNDI (java:comp/env/)
JVM 시스템 프로퍼티 (-Dkey=”value”)
JVM 시스템 환경 변수 (운영 체제 환경 변수)
@PropertySource
Enviroment를 통해 property추가
폴더 경로
app.properties
이렇게 파일을 등록해놓으면 파일을 찾을수 잇도록 해줘야한다.
SamplePropertyApplication.java
AppRunner.java
결과
그렇다며 동일한 프로퍼티명으로 jvm 프로퍼티를 추가하면 어떻게 될까?
결과
VM속성이 더 높은 우선순위를 가지는것을 알수 있다.
이처럼 스프링 프로퍼티는 계층형 우선순위를 가진다.
@Value 어노테이션
기본적으로 샘플 프로젝트 자체가 스프링부트 프로젝트를 사용하고 있다.
스프링 프로젝트는 기본적인 프로퍼티소스 (application.properties)를 제공하며
Profile까지 고려한 계층형 우선순위를 가진다.
예제를 보자
application.properties
스프링 부트 프로젝트 생성하면 기본으로 가지고 있는 파일이다.
AppRunner.java
결과
무진잔 간단하다!!
'프로그래밍 > SPRING' 카테고리의 다른 글
[스프링기본 : IoC 컨테이너] messageSource (0) | 2019.10.13 |
---|---|
[스프링기본 : IoC 컨테이너] Environment - Profile (0) | 2019.10.10 |
[스프링 기본 : IoC 컨테이너]빈 스코프 (0) | 2019.10.06 |
[스프링 기본 : IoC 컨테이너] @Component 와 컴포넌트 스캔 (0) | 2019.10.06 |
[스프링 기본 : IoC 컨테이너] @Autowired (0) | 2019.10.06 |
댓글