12.笔记JAVA Spring框架学习————Bean使用外部属性文件

来源:互联网 发布:喜欢安静的男生知乎 编辑:程序博客网 时间:2024/06/01 10:49

12.笔记JAVA Spring框架学习————Bean使用外部属性文件

l  在配置文件里配置 Bean时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离

l  Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配置文件里使用形式为 ${var} 的变量, PropertyPlaceholderConfigurer 从属性文件里加载属性, 并使用这些属性来替换变量.

l  Spring 还允许在属性文件中使用 ${propName},以实现属性之间的相互引用。

首先将c3p0-0.9.5.2.jarmysql-connector-java-5.1.39-bin.jar,mchange-commons-java-0.2.11.jar赋值到项目的lib文件中。

然后选中右键,build path中add to build path

驱动包下载地址见本节后面。

然后可以测试配置一个数据源为例,如下:

App.xml

先导入content模块。

然后在App.xml配置入下:

      <!--导入外部的资源文件 -->

      <context:property-placeholderlocation="classpath:db.properties"/>

     

      <!--配置数据源 -->

      <beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource">

            <propertyname="user"value="${jdbc.user}"></property>

            <propertyname="password"value="${jdbc.password}"></property>

            <propertyname="driverClass"value="${jdbc.driverClass}"></property>

            <propertyname="jdbcUrl"value="${jdbc.jdbcUrl}"></property>

 

      </bean>

其中com.mchange.v2.c3p0.ComboPooledDataSource来自c3p0中的类。

db.properties

右键项目中src, 新建一个db.properties文件,内容如下:

jdbc.user=root

jdbc.password=root

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.jdbcUrl=jdbc:mysql:///world

Main.java

Main.java内容如下:

com.mchange.v2.c3p0.impl.NewProxyConnection@49070868[wrapping: com.mysql.jdbc.JDBC4Connection@6385cb26]

这样后续如果需要修改数据库连接相关的属性,只需要修改db.properties即可。

C3p0

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

下载链接:https://sourceforge.net/projects/c3p0/files/c3p0-bin/

 

Mysql驱动下载

http://dev.mysql.com/downloads/connector/j/

 

 

 

 

 

阅读全文
0 0