본문 바로가기

프로그래밍

[Spring/JSP] @Value를 이용한 properties정보 로드

보통 나는 Spring의 context에서 properties파일을 로드하도록 설정한다.  


이렇게만 해두고 Controller에서 로드된 데이터를 불러오기 위해
  1. 맴버변수를 선언하고,
  2. 그위에 @Value를 기술한 뒤, 불러올 Key값을 기술했다.


결과는 안불러와졌다.. 이상하게도 해당 키값이름이 그대로 대입되어 있었다.
이유가 무엇을일까?
context, 즉 Spring Framework의 문맥흐름에서 쓰려고 properties를 불러온 것때문에 상당한 문제가 있었다.
이게 좀 심각한 문제였다... 글로 알고 몸으로 못느끼고 그냥되겠거니 하는 안일한 태도가 또 한숨을 일으켰다.

프로젝트의 web.xml에 아래와 같이 기술하였다.

context에 대한 xml의 위치, servlet에 대한 xml 위치가 분명히 다르다.
context는 Spring의 흐름을 위해, servlet은 servlet이용 시 사용할 설정들에 대한 내용이다.
context에 선언해놓고, app에서 부르겠다고 @Value를 쓴것이다. 


결국에는 servlet설정정보를 담은 xml중 공통으로 적용되게끔 쓰는 xml에 불러올 properties를 선언하고 해결되었다.
기초가 약하면 이런 문제가 생기는 것 같다.. 요즘 너무풀어졌다..