通过其他一些帖子搜索但找不到我需要的内容,但我猜这是一个简单的问题..
所以我有一个名为myprops.properties
的属性文件myprops.localProp1=localProp1
myprops.localProp2=localProp2
myprops.systemProp=${systemPropertyName}
基本上,在这个属性文件中我想使用localProp1和locapProp2的值,但对于systemProp,我想加载系统属性。我们假设系统属性始终设置。
我的spring config xml看起来像这样......
<bean id="myprops" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<qualifer value="myprops" />
<property name="singleton" value="true"/>
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list><value>classpath:myprops.properties</value></list>
</property>
</bean>
我使用限定符将此bean自动装配并使用限定符字符串“myprops”在另一个类中访问它。除了myprops.systemProp之外,所有期望的值都在那里,它仍然是= $ {systemPropertyName}。
如何使用实际系统属性解析此属性?
我在春季配置中尝试了以下内容:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties" ref="myprops" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
</bean>
这似乎没有帮助..
有什么想法吗?我希望这是一个简单的,我只是误解了属性配置中的一个共同概念。
注意:我不得不手动输入所有无法复制/粘贴的代码,请原谅错别字。
感谢。