我试图加载来自环境变量的属性文件,所以这里是我的尝试: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