使用Spring从文件和系统属性加载属性

时间:2012-10-15 15:32:18

标签: spring properties

通过其他一些帖子搜索但找不到我需要的内容,但我猜这是一个简单的问题..

所以我有一个名为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>

这似乎没有帮助..

有什么想法吗?我希望这是一个简单的,我只是误解了属性配置中的一个共同概念。

注意:我不得不手动输入所有无法复制/粘贴的代码,请原谅错别字。

感谢。

0 个答案:

没有答案