您的位置:首页 > 编程语言 > Java开发

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

2014-01-07 10:14 691 查看
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。。实战》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: