你好,游客 登录 注册 搜索
背景:
阅读新闻

Spring xml 配置使用外部config 文件

[日期:2016-12-11] 来源:Linux社区  作者:nvd11 [字体: ]

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.config

user=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>

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-12/138193.htm

linux
相关资讯       Spring xml 配置  Spring xml 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款