PropertyPlaceholderConfigurer类的作用是加载外部的java Properties文件属性。
然后在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进行修改,而不用对xml配置文件进行修改。
假设在外部添加了jdbc.properties,内容为:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/tangwenmingldb
jdbc.username=root
jdbc.password=123456
我们可以在配置文件中加载外部的properties文件。
<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<!-- 可引入多个配置文件 -->
<list>
<value>/WEB-INF/mail.properties</value>
<value>classpath: conf/jdbc.properties</value>
</list>
</property>
<!-- 还可以指定外部文件的编码格式 -->
<property name="fileEncoding">
<value>UTF-8</value>
</property>
</bean>
加载完毕后,就可以采用${}直接使用mail.properties和jdbc.properties中定义的属性了
比如:
<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>