프로그램을 실행하면 다음과 같은 결과가 나타납니다.
application.home: application_home user.home: C:\Users\reve
application.home 위치 지정자는 제대로 해석됐지만 user.home 프로퍼티는 여전히 JVM의 프로퍼티 값을 가져옵니다. PropertySource 추상화가 기본적으로 JVM 프로퍼티를 먼저 읽으므로 앞 실행 결과는 문제가 없습니다. 스프링이 application.properties 파일에 있는 프로퍼티를 우선적으로 사용하게 하려면 local-override="true" 애트리뷰트를 <context:property-placeholder> 태그에 추가해야 합니다.
예제 4-87 프로퍼티 파일의 프로퍼티가 우선하도록 설정([[property-placeholder]] app-context-xml.xml)
<context:property-placeholder local-override="true" location="classpath:application.properties"/>
local-override 애트리뷰트를 사용하면 스프링은 기존 프로퍼티 대신 이 위치 지정자에 정의된 프로퍼티를 사용합니다. 프로그램을 다시 실행하면 이제 application.properties 파일의 user.property 프로퍼티를 불러오는 것을 확인할 수 있습니다.
application.home: application_home user.home: /home/jules-new