搜索了其他一些帖子,但找不到我需要的确切内容,但我想这是一个简单的问题..
所以我有一个名为 myprops.properties 的属性文件
myprops.localProp1=localProp1
myprops.localProp2=localProp2
myprops.systemProp=${systemPropertyName}
基本上,在这个属性文件中,我想使用 localProp1 和 locapProp2 的值,但对于 systemProp,我想加载系统属性。让我们假设系统属性总是被设置。
我的弹簧配置 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>
这似乎没有帮助..
有任何想法吗?我希望这是一个简单的,我只是误解了属性配置中的一个常见概念。
注意:我必须手动输入所有无法复制/粘贴的代码,所以请原谅拼写错误。
谢谢。