我加載在彈簧的context.xml屬性文件,我在 $給 外部屬性文件位置的佔位符{} spring.profiles.active的.properties這是在類路徑中,並使用該位置作爲placholder在spring-context.xml。我彈簧的context.xml是:無法在spring-context.xml中加載屬性文件。屬性文件的路徑給出的dev.properties
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreResourceNotFound" value="true" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="searchSystemEnvironment" value="true" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="locations" ref="propertyConfigurerFiles" />
</bean>
<bean id="propertyConfigurerFiles" class="java.util.ArrayList">
<constructor-arg>
<list>
<value>/WEB-INF/properties/common.properties</value>
<!--In Developemnet Enviroenment it will be dev.properties-->
<value>/WEB-INF/properties/${spring.profiles.active}.properties</value>
<!--External Property File Location as a Placeholder-->
<value>${app.config.batch.location}</value>
</list>
</constructor-arg>
</bean>
而我dev.properties是:
app.config.batch.location=E:/project/properties/config.properties
我的問題是,是$ {app.config.batch .location}佔位符不是 在spring-context.xml中解析並嘗試加載文件 $ {app.config.batch.location}代替 E:/project/properties/config.properties。
我希望我解釋得很好。請幫忙!
在此先感謝!
嗨@ЮрийПлевако我需要的ArrayList豆的reference.I修改我的問題,並張貼了我完整的彈簧context.xml中。 – Rosh
所以當你創建你的ArrayList bean時,你需要實例化PropertyPlaceHolderConfigurer,因爲你在你的ArrayList bean配置中使用了佔位符,而你沒有它。可能的方法是在處理資源時通過構建系統解析一些佔位符 –
是的。我知道但我無法找到實現它的方法。如果你能提出建議,這將會有所幫助。謝謝 – Rosh