Spring配置数据源
Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。
第一种配置: Apache的DBCP需要导入两个包: commons-pool.jar 和commons-dbcp.jar 配置代码如下
下面是根据资源文件配置数据源的 所以必须在classpath下面建立
dbConnection.properties资源文件 内容如下: jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.161/sanco
jdbc.username=sancoweb
jdbc.password=sancoweb
<!-- 读取配置文件利用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 注意id name都是已经定义好的-->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:dbConnection.properties</value>
</property>
</bean>
<!-- 定义数据源 从配置文件中取出 驱动 连接字符串 用户名 密码 注意此时要导入几个包-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
如果不需要资源文件就直接可以通过:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName">
<value> com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value> jdbc:mysql://192.168.1.161/sanco</value>
</property>
<property name="username">
<value> sancoweb </value>
</property>
<property name="password">
<value> sancoweb </value>
</property>
</bean>
BasicDataSource提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源能够正常关闭。除以上必须的数据源属性外,还有一些常用的属性:
defaultAutoCommit:设置从数据源中返回的连接是否采用自动提交机制,默认值为 true;
defaultReadOnly:设置数据源是否仅能执行只读操作, 默认值为 false;
maxActive:最大连接数据库连接数,设置为0时,表示没有限制;
maxIdle:最大等待连接中的数量,设置为0时,表示没有限制;
maxWait:最大等待秒数,单位为毫秒, 超过时间会报出错误信息;
validationQuery:用于验证连接是否成功的查询SQL语句,SQL语句必须至少要返回一行数据,如你可以简单地设置为:“select count(*) from user”;
removeAbandoned:是否自我中断,默认是 false ;
removeAbandonedTimeout:几秒后数据连接会自动断开,在removeAbandoned为true,提供该值;
logAbandoned:是否记录中断事件, 默认为 false;
第二种配置数据源的方式:
C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection 和Statement 池。C3P0类包位于<SPRING_HOME>c3p0-0.9.0.4.jar。下面是使用C3P0配置一个Oracle数据源:
我已经将其放到了附件中!如果觉得有帮助 请下载
分享到:
- 2008-12-29 13:14
- 浏览 3220
- 评论(3)
- 论坛回复 / 浏览 (3 / 3658)
- 查看更多
相关推荐
### Spring 数据源配置详解 #### 一、Spring与数据源简介 在Java企业级应用开发中,数据库操作是必不可少的一部分。Spring框架作为一种流行的轻量级Java应用开发框架,提供了强大的数据库访问支持,其中包括对数据...
本实例将探讨如何在Spring中配置数据源,以便于管理数据库连接。首先,我们来了解一下Spring支持的数据源类型。 1. **Apache Commons DBCP**: Apache Commons DBCP 是一个基于Jakarta Pool的数据库连接池实现。...
下面将详细介绍Spring动态多数据源配置的相关知识点。 1. **为什么要使用多数据源**: 在实际项目中,可能需要连接到不同的数据库,例如,一个用于存储主业务数据,另一个用于日志记录或数据分析。通过多数据源...
"spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...
本文将深入探讨如何在一个基于Spring框架的应用中实现多数据源的动态切换,以"基于SSI+Oracle架构的多数据源动态切换实例"为例进行详细讲解。 首先,我们需要理解什么是多数据源。多数据源是指在一个应用中同时连接...
本实例将探讨如何在Spring Boot项目中实现多数据源配置,并通过测试单元进行验证。 首先,我们需要在项目的`application.properties`或`application.yml`配置文件中定义多个数据源。以`application.properties`为例...
总结来说,Spring Boot + JPA 的多数据源配置需要对Spring的配置机制有深入理解,包括自动配置、bean的创建、数据源的切换等。同时,合理组织实体类和数据库访问层,确保代码的可维护性和扩展性。这个名为`...
然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...
### Spring多数据源配置详解 在企业级应用中,尤其是微服务架构下,多数据源配置成为了一项常见的需求。Spring框架提供了灵活且强大的机制来处理这种场景,使得开发者能够在一个应用中集成多个数据源,从而实现数据...
Spring框架作为一个强大的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器,提供了多种配置数据源的方式,其中包括通过JNDI(Java Naming and Directory Interface)来查找和配置数据源。...
Spring提供了`DataSourceTransactionManager`,我们需要为每个数据源配置一个,并在需要时指定使用哪个数据源的事务管理器。 2. **数据源切换**:在代码中,我们可以通过`@Transactional`注解的`value`属性指定使用...
### Spring MVC 中配置多数据源详解 在Spring框架中配置多数据源的需求比较常见,尤其在需要处理不同类型的数据库或需要实现数据隔离的应用场景中。本文将详细介绍如何在Spring MVC项目中配置并使用多数据源。 ###...
当配置了多个数据源时,我们需要为每个数据源创建一个DataSourceTransactionManager实例,并在Spring配置文件中指定对应的Data Source。 2. **AbstractRoutingDataSource**:这是一个抽象的数据源类,它可以根据...
2. 配置文件(如`applicationContext.xml`或使用Java配置类)将设置数据源、JPA配置、DispatcherServlet配置、视图解析器等。 3. 实体类(Entity)将对应数据库表,用于持久化数据。 4. Repository接口将继承自...
例如,可以创建一个名为`DataSourceUtil`的类,用于从Spring容器中获取数据源实例。 #### 六、其他数据源实现类 除了`DriverManagerDataSource`之外,Spring还提供了其他的实现类,包括但不限于: - **`...
本文将深入探讨如何在Spring中实现动态多数据源配置,并提供一个实例Demo来帮助理解这一过程。 首先,我们需要理解为什么要使用动态多数据源。在某些场景下,一个应用可能需要连接到多个数据库,例如,开发环境、...
本实例将详细介绍如何在Spring MVC项目中配置并使用Druid数据源。 首先,我们需要理解Spring MVC和Druid的基本概念。Spring MVC是Spring框架的一部分,用于构建Web应用程序,它遵循MVC(Model-View-Controller)...
在本教程中,我们将深入探讨如何在Spring Boot项目中配置和使用多数据源以及JdbcTemplate。 首先,让我们了解什么是`JdbcTemplate`。它是Spring提供的一种模板类,用于执行SQL语句,通过回调机制将结果转换为Java...
本项目实例将详细讲解如何在 Spring Boot 中集成 MyBatis 并配置多数据源。 首先,我们需要了解 Spring Boot 中的数据源配置。Spring Boot 提供了自动配置功能,可以简化数据源的设置。在 `application.properties`...
6. **扩展性与可伸缩性**:通过动态数据源和分库分表,系统能够随着数据量的增长而平滑扩展,增加新的数据库实例而不影响现有业务。 7. **事务管理**:在分库分表环境下,跨库事务是一大挑战。Spring提供了分布式...