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数据源:
我已经将其放到了附件中!如果觉得有帮助 请下载
分享到:
相关推荐
### Spring 数据源配置详解 #### 一、Spring与数据源简介 在Java企业级应用开发中,数据库操作是必不可少的一部分。Spring框架作为一种流行的轻量级Java应用开发框架,提供了强大的数据库访问支持,其中包括对数据...
下面将详细介绍Spring动态多数据源配置的相关知识点。 1. **为什么要使用多数据源**: 在实际项目中,可能需要连接到不同的数据库,例如,一个用于存储主业务数据,另一个用于日志记录或数据分析。通过多数据源...
Spring提供了PlatformTransactionManager接口,我们可以为每个数据源配置一个事务管理器,并在需要时动态选择使用哪个事务管理器。 5. **编程或声明式数据源切换**:在业务代码中,可以使用Spring的`@Resource`注解...
Spring Boot结合JPA(Java Persistence API)和JdbcTemplate,为开发者提供了灵活且强大的多数据源配置能力。本示例将详细介绍如何在Spring Boot项目中实现这样的配置,以支持不同类型的数据库。 首先,我们要理解...
本实例将探讨如何在Spring Boot项目中实现多数据源配置,并通过测试单元进行验证。 首先,我们需要在项目的`application.properties`或`application.yml`配置文件中定义多个数据源。以`application.properties`为例...
# Oracle数据源配置 jdbc.driver=oracle.jdbc.OracleDriver jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:dev jdbc.username=ling jdbc.password=229 # MySQL数据源配置 jdbc-mysql.driver=com.mysql.jdbc.Driver ...
Spring提供了`DataSourceTransactionManager`,我们需要为每个数据源配置一个,并在需要时指定使用哪个数据源的事务管理器。 2. **数据源切换**:在代码中,我们可以通过`@Transactional`注解的`value`属性指定使用...
通过以上步骤,我们可以成功地在Spring应用中实现多数据源配置,灵活地管理和切换不同的数据库。这在大型分布式系统中尤其有用,能帮助我们构建更加健壮、高效的数据库访问架构。在实际项目中,还可以结合Spring ...
### Spring多数据源配置详解 在企业级应用中,尤其是微服务架构下,多数据源配置成为了一项常见的需求。Spring框架提供了灵活且强大的机制来处理这种场景,使得开发者能够在一个应用中集成多个数据源,从而实现数据...
然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...
Spring框架作为一个强大的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器,提供了多种配置数据源的方式,其中包括通过JNDI(Java Naming and Directory Interface)来查找和配置数据源。...
例如,可以创建一个名为`DataSourceUtil`的类,用于从Spring容器中获取数据源实例。 #### 六、其他数据源实现类 除了`DriverManagerDataSource`之外,Spring还提供了其他的实现类,包括但不限于: - **`...
在开发企业级应用程序时,经常需要...通过学习和分析这个实例,你可以深入理解如何在 Spring Boot 应用中实现多数据源配置,并有效地管理不同的数据库操作。这将有助于你在实际开发中灵活应对复杂的数据库架构需求。
"spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...
# 主数据源配置 spring.datasource.primary.url=jdbc:mysql://localhost:3306/main_db spring.datasource.primary.username=root spring.datasource.primary.password=root spring.datasource.primary.driver-class-...
在多数据源的场景下,Hibernate提供了灵活的数据源配置,可以在同一个应用中管理多个数据库连接。这通常通过定义不同的SessionFactory配置和DataSource实例来实现。 **MyBatis** 则是一个轻量级的ORM框架,它比...
在Java Spring框架中,多数据源的实现是一个重要的特性,特别是在大型企业级应用中,它允许应用程序连接到多个数据库,从而实现数据隔离、...理解并熟练掌握多数据源配置是提升Spring应用灵活性和健壮性的重要一环。
在"多数据源配置"这个压缩包中,应该包含了一个具体的代码实例,展示如何在Spring环境中配置和使用多数据源。开发者可以通过分析和运行这些示例代码,进一步了解多数据源配置的具体实现细节,包括数据源的声明、路由...
- 如果使用Spring Boot,可以利用其自动配置功能,将数据源配置移到`application.properties`或`application.yml`中,并使用`@ConfigurationProperties`注解绑定配置。同时,可以使用`@Bean`注解创建动态数据源bean...