Spring配置文件读取Properties属性资料
Spring配置文件读取Properties属性文件
1. jdbc.properties
2.applicationContext.xml
如上所述,我们定义了一个PropertyPlaceholderConfigurer类的实例,并将其位置属性设置为我们的属性文件。该类被实现为Bean工厂的后处理器,并将使用定义在文件中的属性来代替所有的占位符(${...}value)。
利用这种技术,我们可以从applicationContext.xml中移除所有特定于主机的配置属性。通过这种方式,我们可以*地为该文件添加新的Bean,而不必担心特定于主机属性的同步性。这样可以简化生产部署和维护。
将上边一段配置注册在web.xml中就可以了
<!--Spring ApplicationContext配置文件的路径。可使用通配符,多个路径用逗号分隔。
此参数用于后面的“Spring-Context loader”-->
当然,不要忘了spring的监听器注册
<!--Spring Context loader-->
这样,一个简单的数据源就设置完毕了。
实际上,PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义
的工具。
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中定义
的工具。