1. 定义变量属性文件D:\ronghui_config\config\cpm\param.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/mysqldb?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=round;
jdbc.username=root
jdbc.password=123456
config2=asdfasdfasdf
备注:一定要在properties文件中&写为&因为在xml文件中不识别&,必须是&
2.设定应用运行时环境变量-DRH_HOME="D:\ronghui_config", ecli[se的tomcat设定VM agrument, 或者catalina.bat设定JAVA_OPTS..........
3.Spring配置PropertyPlaceholderConfigurer
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!--
<property name="location">
<value>classpath:ecis.properties</value>
</property>
-->
<property name="locations">
<list>
<!-- <value>classpath:config/ecis.properties</value> -->
<value>file:${RH_HOME}/config/cpm/jdbc.properties</value>
<value>file:${RH_HOME}/config/cpm/param.properties</value>
</list>
</property>
</bean>
Spring的PropertyPlaceholderConfigurer应用
http://blog.csdn.net/u010150082/article/details/11201035, PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义的工具。如果在指定的Properties文件中找不到你想使用的属性,它还会在Java的System类属性中查找。 我们可以通过System.setProperty(key, value)或者java中通过-Dnamevalue来给Spring配置文件传递参数。
另外一种加载的方式属性文件为:
<context:property-placeholder location="classpath:jdbc.properties"/>
4. 使用:
A: applicationContext.xml使用参数:
<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>
B:源码使用注解方式 :
@Config("jdbc.username") //演示最常见的用法
private String config1;
@Config //演示通过域变量名字获取配置资源和数据类型转换
private Integer config2;
注意:这两种方法可以同时使用