Spring xml 配置使用外部config 文件
2016-05-22 16:48
459 查看
Spring xml 配置使用外部config 文件
当使用Spring framework后, 我们一般会把db connection的信息写在spring的bean config xml里面。例如:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="testUser1"></property> <property name="password" value="12345678"></property> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://homeServer:3306"></property> </bean> </beans>
但是在项目中, 我们的程序一般在不同的环境中运行,如果每次都去修改xml就会出现如下的问题。
1.容易出错
2.需要重新打包(xml在包里的话)
3.程序猿会见到密码等敏感信息。
所以我们一般会把项目deployment的信息例如db Conection写在 外部的1个 config file中。
例子
首先在系统中随便1个位置建立1个config 文件:
/home/gateman/Studies/java_start/configfiles/mysql.configuser=testUser1 password=12345678 driver=com.mysql.jdbc.Driver url=jdbc:mysql://homeServer:3306
在spring xml中引入 PropertyPlaceholderConfigurer 这个bean
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="file:/home/gateman/Studies/java_start/configfiles/mysql.config"></property> </bean>
注意 上面的location value就是配置文件的位置
file:xxx 代表绝对路径
classpath: xxx 代表类路径
最后, 在dataSoruce 这个bean就可以引用config file的值了
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="file:/home/gateman/Studies/java_start/configfiles/mysql.config"></property> </bean> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${user}"></property> <property name="password" value="${password}"></property> <property name="driverClass" value="${driver}"></property> <property name="jdbcUrl" value="${url}"></property> </bean> </beans>
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- springmvc 发送ajax出现中文乱码的解决方法汇总
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- Spring Bean基本管理实例详解
- java实现简单美女拼图游戏