<util:properties id="test"  location="test/test.properties" />

<context:property-placeholder location="classpath:/test/test.properties"  />

우선 propertis 파일은 스프링에서 상위와 같이 사용이 가능하다. 

첫번째의 경우 자바 코드에서는


@Value("#{test['app.boot.mode']}")
private String mode;

jsp 코드에서는

<spring:eval var="logoutUrl" expression="@test['app.boot.mode']" />

이렇게 사용이 가능하다. 

그리고 장점이 xml 마다 따로 지정해 줄 필요가없고 root 에만 지정을 해주면
전역으로 사용이 가능하다는 점이다. 
또한 지정되지 않은 값을 명시할경우 에러를 발생해 좀더 직관적인 수정이 가능하다.

3.0 부터 추가된 강력한 기능이다. 


두번째의 경우는 property-placeholder 를 사용하는 경우로 
장점으론 간단한 표현식 ${app.boot.mode} 처럼 사용 할 수 있으나 값이 없을경우
표현식자체를 값으로 표현되므로 수정이 좀 어렵다 또한 각 xml 마다 명시해주어야 해서 
불편한 점이 좀 있다. 하지만 컨트롤러의 맵핑에서도 사용할 수 있는 장점도 있다.

두 태그를 방법으로 보기보다는 상황에따른 다른 방식으로 보는게 편할것이다.