Spring配置中引用外部属性文件

Spring为我们提供了一个PropertyPlaceholderConfigurer,他能够使Bean在配置的时候引用外部属性文件。ropertyPlaceholderConfigurer实现了BeanFactoryPostProcessorBean接口,因此也是一个Bean工厂后处理器。

 

以前的配置:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destory-metnod="close"

p:driverClassName="com.mysql.jdbc.Driver"

p:url="jdbc:mysql://localhost:3306/sampledb"

p:userName="root"

p:password="1234"/>

 

现在我们可以使用一个jdbc.properties的配置文件:

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/sampledb

userName=root

password=1234

属性文件可以定义多个属性,每个属性都由一个属性名和一个属性值组成,两者用“=”隔开。下面通过PropertyPlaceholderConfigurer引入jdbc.properties属性文件,调整数据源Bean的配置:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"

p:location="classpath:com/baobaotao/placeholder/jdbc.properties"

p:fileEncoding="utf-8"/>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"

p:driverClassName="&{driverClassName}"

p:url="&{url}"

p:userName="${password}"/>

PropertyPlaceholderConfigurer其他属性:

locations:如果是一个属性文件,用location足以,如果是多个属性文件,locations搞定。

fileEncoding:属性文件的编码格式。

order:如果配置文件中定义了多个PropertyPlaceholderConfigurer,则通过此属性来制定优先顺序。

 

使用<context:property-placeholder>引用属性文件

<context:property-placeholder location="classpath:com/baobaotao/placeholder/jdbc:properties"/>

 

当然 还可以基于注解直接给java对象附上属性值,详细的请参看《spring3.x。。实战》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值