spring.xm中配置文件使用占位符

在spring中,可以使用PropertyPlaceholderConfigurer引入以properties的配置文件,在配置文件中定义key,value形式的键值对,之后在xml中读取${key}的值,可以灵活的配置常用参数。

1.定义.properties的配置文件

这里定义一个mysql数据库连接的配置文件做测试。

1
2
3
4
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://192.168.49.127\:3306/test?useUnicode\=true&characterEncoding\=UTF-8&useSSL=true
jdbc.username=root
jdbc.password=root

2.在.xml中引入.properties配置文件

1
2
3
4
5
6
7
8
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:jdbc.properties</value>
<value>/WEB-INF/mail.properties</value>
</list>
</property>
</bean>

注意上面一种classpath是引用src目录下的文件写法,下面一种是引入在WEB-INF下面的文件。
如果引入单个文件,还可以不用list。

1
2
3
4
5
6
7
<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:/com/catchu/me/jdbc.properties</value>
</property>
</bean>

3.使用配置文件

1
2
3
4
5
6
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>

使用时直接使用${}就可以了,类似于EL表达式。

刘俊重 wechat
欢迎关注我的微信公众号
坚持原创技术分享