Spring配置文件读取Properties属性资料

Spring配置文件读取Properties属性文件
1. jdbc.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1/mkey3gdb2?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
jdbc.username=root
jdbc.password=123
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=false



2.applicationContext.xml



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans default-merge="true">
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:jdbc.properties</value>
            </list>
        </property>
    </bean>
    
      


   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" abstract="false" lazy-init="default" autowire="default" dependency-check="default">
		<property name="driverClass">
			<value>${jdbc.driverClass}</value>
		</property>
		<property name="jdbcUrl">
			<value>${jdbc.url}</value>
		</property>
		<property name="user">
			<value>${jdbc.username}</value>
		</property>
		<property name="password">
			<value>${jdbc.password}</value>
		</property>
		<property name="minPoolSize">
			<value>10</value>
		</property>
		<property name="maxPoolSize">
			<value>20</value>
		</property>
		<property name="initialPoolSize">
			<value>10</value>
		</property>
		<property name="idleConnectionTestPeriod" >
			<value>50</value>
		</property>
	</bean>  
</beans>



 如上所述,我们定义了一个PropertyPlaceholderConfigurer类的实例,并将其位置属性设置为我们的属性文件。该类被实现为Bean工厂的后处理器,并将使用定义在文件中的属性来代替所有的占位符(${...}value)。

  利用这种技术,我们可以从applicationContext.xml中移除所有特定于主机的配置属性。通过这种方式,我们可以*地为该文件添加新的Bean,而不必担心特定于主机属性的同步性。这样可以简化生产部署和维护。


将上边一段配置注册在web.xml中就可以了
<!--Spring ApplicationContext配置文件的路径。可使用通配符,多个路径用逗号分隔。
此参数用于后面的“Spring-Context loader”-->
<context-param>
		<param-name>contextConfigLocation</param-name>
<param-value>
	/WEB-INF/classes/applicationContext*.xml		
</param-value>
	</context-param>

当然,不要忘了spring的监听器注册
<!--Spring Context loader-->
<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>

这样,一个简单的数据源就设置完毕了。
实际上,PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义
的工具。