我使用的是Spring版本4.0.6.RELEASE,並試圖從屬性文件中讀取spring,並使用其中一個已解析的屬性向另一個屬性文件提供位置。我spring.xml文件有以下幾點:春天解決的屬性文件的位置需要解決這些屬性
<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:application.properties</value>
<value>classpath:version.properties</value>
<!- The below file contains the another file location -->
<value>file:${catalina.base}/conf/instance.properties</value>
<value>${another.file.location}</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true"/>
</bean>
instance.properties包含:
account.id=BlahBlahBlah
another.file.location=file:/Users/beardman/.myapp/local.properties
和/Users/beardman/.myapp/local.properties包含:
magic.number=3
database.endpoint=blah
我不斷收到以下警告:
WARN [main] o.s.b.f.c.PropertyPlaceholderConfigurer Could not load properties from ServletContext resource [/${another.file.location}]: Could not open ServletContext resource [/${another.file.location}]
在調試我的代碼時,我可以看到account.id被正確注入,但我永遠無法獲取magic.number或database.endpoint來顯示。我怎樣才能讓spring使用instance.properties文件中已解析的屬性作爲another.file.location的值?
編輯:添加屬性文件內容
它看起來就像你的路徑值未設置正確的方式或不存在 – CodeFox
這是一個很好的點@CodeFox,但我有驗證了這些文件確實存在於它們的正確位置,我實際上從instance.properties文件中獲取了屬性,從我的local.properties文件中什麼都沒有。 – beardman