본문 바로가기
Backend/Spring Framework

@Value vs @ConfigurationProperties 비교

by 지구 2019. 7. 1.

Spring 환경에서 Properties 정보를 가져오는 방법 중,

현재 우리 팀에서는 @Value 어노테이션을 사용하고 있는데

@ConfigurationProperties 어노테이션을 사용하게 되면 어떤 이점이 있을까? 하는 생각으로 찾아본 내용을 정리해본다 ..

 

일단, Spring 팀에서는 이렇게 말했다.

@Value("${property}") 주석을 사용하여 구성 속성을 주입하는 것은 번거로울 수 있으며,
특히 여러 속성을 사용 중이거나 데이터가 계층적일 경우 스프링 부트는 다음 예와 같이 강하게 입력된 Bean 이
응용 프로그램의 구성을 제어하고 검증할 수 있도록 하는 대체적인 속성 작업 방법을 제공한다.

 

결론은, 호출하여 사용하려는 Properties 정보가 여러 개 일 경우에는 Bean 으로 등록하여 사용하는 @ConfigurationProperties 가 좋지만

단일 정보만을 사용한다면 사용법이 더 간편하고 간단한 @Value 를 사용해도 무방하다. (난 좋다고 생각함..!)

 

만일, 또다른 Properties 를 사용할 일이 생겨서 여러 개의 정보가 필요하다면 그때 @ConfigurationProperties 적용을 검토해봐야지.

 

 

참고 (@Value vs @ConfigurationProperties)

참고 (@Configuraion)

반응형

댓글