본문 바로가기
프로그래밍/SPRING

[스프링기본 : IoC 컨테이너] Environment - Property

by hyunleeM 2019. 10. 10.

 

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

결과

 

무진잔 간단하다!!

댓글