Spring PropertyPlaceholderConfigurer Usage - 使用系统变量替换spring配置文件中的变量

 

前一篇文章说了关于spring中PropertyPlaceholderConfigurer类的使用http://blog.csdn.net/kongxx/archive/2010/08/26/5842009.aspx

但是在有些情况下我们的属性并不是配置在properties文件中,而是通过Java启动时的-Dname=value参数设置在java系统环境中,此时如果在java里我们可以使用System.getProperty(name)来获取属性值,而在spring里我们就可以通过PropertyPlaceholderConfigurer类来获取。

 

1. 首先创建一个Java Bean

 

 

 

2. 创建spring.xml文件

 

配置文件中使用${name},${propx}来说明需要使用properties文件中的内容替换

 

3. 创建spring.properties文件,这里变量可以递归引用当前properties文件中定义的别的变量

 

 

 

4. 写一个测试程序

 

这里去我在启动前通过System.setProperty(key)来模拟java中通过-D传递参数的情况。运行测试程序,输出如下:

test.MyBean@1649b44[name=kongxx,prop1=111,prop2=222,prop3=333]

这里其实spring是忽略的properties文件里的配置而使用的系统环境中的值。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值