Welcome 微信登录

首页 / 软件开发 / JAVA / Spring如何利用propertyConfigurer类 读取.property数据库配置文件

Spring如何利用propertyConfigurer类 读取.property数据库配置文件2015-02-011.Spring的框架中,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类可以将.properties(key/value形式)文件中

一些动态设定的值(value),在XML中替换为占位该键($key$)的值,

.properties文件可以根据客户需求,自定义一些相关的参数,这样的设计可提供程序的灵活性。

2.在Spring中,使用PropertyPlaceholderConfigurer可以在XML配置文件中加入外部属性文件,当然也可以指定外部文件的编码,如:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location"><value>conf/sqlmap/jdbc.properties</value></property> <property name="fileEncoding"> <value>UTF-8</value> </property></bean>
当然也可以引入多个属性文件,如:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"><list> <value>/WEB-INF/mail.properties</value><value>classpath: conf/sqlmap/jdbc.properties</value>//注意这两种value值的写法</list> </property></bean>
基本的使用方法是:

Xml代码

<bean id="propertyConfigurerForAnalysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location"><value>classpath:/spring/include/dbQuery.properties</value></property><property name="fileEncoding"> <value>UTF-8</value> </property></bean>
其中classpath是引用src目录下的文件写法。

当存在多个Properties文件时,配置就需使用locations了:

Xml代码

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"> <list><value>classpath:/spring/include/jdbc-parms.properties</value><value>classpath:/spring/include/base-config.properties</value><value>classpath*:config/jdbc.properties</value></list></property></bean>
接下来我们要使用多个PropertyPlaceholderConfigurer来分散配置,达到整合多工程下的多个分散的Properties文件,其配置如下

Xml代码

<bean id="propertyConfigurerForProject1" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="order" value="1"/><property name="ignoreUnresolvablePlaceholders" value="true"/><property name="location"> <value>classpath:/spring/include/dbQuery.properties</value></property></bean>
Xml代码

<bean id="propertyConfigurerForProject2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="order" value="2"/><property name="ignoreUnresolvablePlaceholders" value="true"/><property name="locations"><list><value>classpath:/spring/include/jdbc-parms.properties</value><value>classpath:/spring/include/base-config.properties</value></list></property></bean>