java – PropertyPlaceholderConfigurer PropertiesFactoryBean仅解析位置属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – PropertyPlaceholderConfigurer PropertiesFactoryBean仅解析位置属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1797字,纯文字阅读大概需要3分钟。
内容图文
![java – PropertyPlaceholderConfigurer PropertiesFactoryBean仅解析位置属性](/upload/InfoBanner/zyjiaocheng/770/a9bb1bce13974fd4acdcfbb0110506fb.jpg)
我无法让PropertyPlaceholderConfigurer在我当前的配置中工作.给出applicationContext.xml中的以下代码块:
<bean id="myProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<!-- Order matters, last one to create a property wins! -->
<value>classpath:default.properties</value>
<value>file:${MYAPP_PROPERTIES_LOCATION:badurl}/application.properties</value>
<value>file:${user.home}/developer.properties</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true"/>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertiesPlaceholderConfigurer">
<property name="properties" ref="myProperties"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="searchSystemEnvironment" value="true"/>
</bean>
然后在default.properties文件中,我有以下内容(这些是测试属性):
property1=prop1val
property2=${property1}
有效:propertyConfigurer正确解析环境变量MYAPP_PROPERTIES_LOCATION和系统变量user.home.但是,最终的属性对象是由工厂bean创建的,结果属性是[property1 = prop1val,property2 = ${property1}].
使用此配置,如何获取myProperties bean中的属性来解析其占位符?我做了大量的研究,包括追踪弹簧代码 – 我可以看到如何以及为什么没有这样做.我希望有一些我不知道的设置!这是我的第一篇文章,所以对我来说很容易:)
解决方法:
您有正确的spring和属性文件配置.这就是为什么你能够从文件中读取数据的原因.春天的一切都是正确的,让我解释一下……
如下所述,是你的财产档案,
property1=prop1val
property2=${property1}
请记住,它是一个带有键值对的漂亮文本文件,它不能接受变量.在这里,如果您打算将property1的值动态复制到property2,则不会发生这种情况.这不是我们应该使用属性文件的方式.
属性文件应该是具有键值对的简单文本文件.因此,保持密钥是原子的,以便您可以从应用程序或applicationcontext.xml文件中逻辑地构造所需的数据.
内容总结
以上是互联网集市为您收集整理的java – PropertyPlaceholderConfigurer PropertiesFactoryBean仅解析位置属性全部内容,希望文章能够帮你解决java – PropertyPlaceholderConfigurer PropertiesFactoryBean仅解析位置属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。