본문 바로가기
개발/JAVA, Spring

[JAVA/Spring] @Value annotation

by 똘똘이박사 2018. 7. 29.

이번 포스팅 에서는 

@Value 어노테이션을 정리해 봅니다.



프로젝트가 커지다 보면 공통으로 사용하는 값을 별도로 관리를 하게 되는데

이런 값들을 쉽게 가져다 쓰기 위해 사용합니다.

쉽게 생각해서, 공통 값들을 정의해 놓은 파일에 접근하여

원하는 데이터를 읽어와 사용한다고 생각하면 됩니다. 

이렇게 관리를 하는 이유는 관리를 쉽게 하기 위해서 입니다.


사용법은 간단합니다.


우선 아래의 코드를 봅시다.


class ValueSample() {


@Value("#{WORK.LOCATION}")

String JOB;


public ValueSample() {

// TODO

}

}


클래스의 프로퍼티 설정 부분에 @Value 어노테이션을 사용한 것을 볼 수 있습니다.

위 코드의 의미는

프로퍼티 파일에서 WORK의 LOCATION 값을 읽어와

해당 클래스 안에서 JOB 라는 String 타입의 변수로 사용 하겠다는 의미 입니다.


위와 같이 @Value 에서 사용할 값은

root-context.xml 파일에서 정의 할 수 있습니다.



root-context.xml 파일을 열어 봅니다.


<util:properties id="WORK">

<prop key="LOCATION">Korea</prop>

</util:properties>


root-context.xml 파일의 어딘가에 위와 같은 설정이 되어 있을 것입니다.



그런데 위와 같은 설정을 못 찾을 가능성이 더욱 큽니다.

위와 같이 properties를 따로 지정할 정도면 규모가 작은 사이트가 아닌 경우가 많고

그런 사이트의 경우는 별도의 properties 파일을 만들어 관리를 하기 때문입니다.


이런 설정에 대해서는 다음 포스팅에 정리해 보도록 하겠습니다.



반응형