PropertyPlaceholderConfigurer가 현재 구성에서 작동하는 데 문제가 있습니다. (이 테스트 속성입니다) 나는 다음과 같은 한 default.properties 파일에서 다음PropertyPlaceholderConfigurer + PropertiesFactoryBean에서만 위치 속성을 확인합니다.
<bean id="myProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<!-- Order matters, last one to create a property wins! -->
<value>classpath:default.properties</value>
<value>file:${MYAPP_PROPERTIES_LOCATION:badurl}/application.properties</value>
<value>file:${user.home}/developer.properties</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true"/>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertiesPlaceholderConfigurer">
<property name="properties" ref="myProperties"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="searchSystemEnvironment" value="true"/>
</bean>
: 내 applicationContext.xml에서 다음 코드 블록을 감안할 때 propertyConfigurer을 올바르게 : 작동 무엇
property1=prop1val
property2=${property1}
환경 변수 MYAPP_PROPERTIES_LOCATION과 시스템 변수 user.home을 모두 해결합니다. 그러나 최종 속성 개체는 factory bean에 의해 만들어지며 결과 속성은 [property1 = prop1val, property2 = $ {property1}]입니다.
이 구성을 사용하면 myproperties bean의 속성을 가져 와서 자리 표시자를 해결할 수 있습니까 ?? 나는 스프링 코드를 추적하는 것을 포함하여 많은 연구를 해왔다. 그리고 어떻게 그리고 왜 이것이 이루어지지 않는지를 알 수있다. 내가 놓친 몇 가지 설정이 있기를 바래요! 이게 내 첫 번째 게시물 그래서 내게 쉽게 :)
base.dir에 비해이었다 log.dir 속성을 가지고있다 (당신이 이미 그것을 시도 확실하지하고 문제는 당신이 직면 한) 당신은 다음을 시도해보십시오 수 base.dir은이 파일들 중 어디에서든지 설정할 수 있습니다. 그런 다음 Log4J는이 디렉토리를 기반으로하는 리스너를 사용하여 구성됩니다. – guydog28