我試圖加載來自環境變量的屬性文件,所以這裏是我的嘗試:propertyPlaceHolderConfigurer和environement可變
<bean id="propertyPlaceholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:messages/application.properties</value>
<value>file:${My_ENV_VAR}/*.properties</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true" />
<property name="searchSystemEnvironment" value="true" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
</bean>
我有一個名爲My_ENV_VAR=C:\Program Files\My Folder\props.properties
一個新的環境變量,但停止和啓動應用程序時變量的值沒有設置,有什麼想法爲什麼?
UPDATE:要求
我想從文件系統上的外部屬性文件,其中它的路徑被存儲在讀出在applicationContext.xml中休眠特性(URL,用戶名,密碼)環境變量。
見Bozho的回答是:http://stackoverflow.com/questions/3965446/how-to-read-system-environment-variable-in-spring-applicationcontext – atrain 2012-01-18 14:43:22
你怎麼知道它沒有設置?你也應該像'file:$ {My_ENV_VAR}/*。properties'那樣傳遞文件/文件模式而不是目錄。 – mrembisz 2012-01-18 15:13:26
對不起,我更新了這篇文章,我知道它沒有設置,因爲構建後我看到applicationContext,我可以看到值' file:$ {My_ENV_VAR} '沒有改變。 –
2012-01-18 15:20:09