더북(TheBook)

프로그램을 실행하면 다음과 같은 결과가 나타납니다.

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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.