开源框架spring详解-----spring对JDBC的支持(一)
1、spring对DAO的支持
public class AccountServiceImpl implements AccountService{
private AccountDao accountDao;
/** set方法注入 */
public void setAccountDao(AccountDao accountDao);
this.accountDao = accountDao;
}
public void insert(Account acc){
accountDao.insert(acc);
}
}
从这个类的源代码可以看出,程序所依赖的是数据访问接口。因此,可以随时更换AccountDao的实现类。Spring的DAO框架正式基于这样的基本原理来将应用程序与底层数据存取技术解耦的。
2、数据源的注入
对数据库数据执行任何的存取操作,必须要有数据源,spring提供了javax.sql,DataSource注入,这样在需要更换数据源时只需要在spring配置文件中修改即可。而不需要修改程序代码。
不同的应用系统可能使用不同的数据源。
2.1、不带连接池的数据源
<!-- 配置不带连接池的数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql:///spring" />
<property name="username" value="root" />
<property name="password" value="123>
</bean>
<bean id="accountDao" class="com.zxf.dao.AccountDaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="accountService" class="com.zxf.service.AccountService">
<property name="accountDao" ref="accountDao"/>
</bean>
2.2、集成第三方连接池技术的数据源
第一种方式所获取的数据源是不带连接池的,不适合正式的商业使用。正式的商业应用需要使用带连接池的数据源,比较常见的第三方连接池有:DBCP和C3P0。
要想使用第三方的连接池技术,首先需要在项目类路径下添加它的类库。
commons-dbcp.jar 和 commons-pool.jar.
<!-- 配置DBCP的数据源 -->
<bean id="dataSource2"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///spring" />
<property name="username" value="root" />
<property name="password" value="123" />
</bean>
<!-- 配置C3P0的数据源 -->
<bean id="dataSource3"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql:///spring" />
<property name="user" value="root" />
<property name="password" value="123”/>
</bean>
备注:若要使用分散配置设置数据库的连接的话,可以使用分散配置。在配置数据源的是代码前面配置一下的代码。
<!-- 分散配置 -->
<context:property-placeholder location="jdbc.properties"/>
举例:
<!-- 驱动程序 -->
<property name="driverClass">
<value>${jdbc.driverClass}</value>
</property>
<!-- 连接的url地址 -->
<property name="jdbcUrl">
<value>${jdbc.url}</value>
</property>
<!-- 连接的用户名 -->
<property name="user">
<value>${jdbc.user}</value>
</property>
<!-- 连接的用户名的密码 -->
<property name="password">
<value>${jdbc.password}</value>
</property>
<!-- 最大池数 -->
<property name="maxPoolSize">
<value>${c3p0.pool.max}</value>
</property>
<!-- 最小池数 -->
<property name="minPoolSize">
<value>${c3p0.pool.min}</value>
</property>
<!-- 默认的初始化的池数 -->
<property name="initialPoolSize">
<value>${c3p0.pool.init}</value>
</property>
下面是jdbc.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/spring
jdbc.user=root
jdbc.password=123
c3p0.pool.max=10
c3p0.pool.min=3
c3p0.pool.init=5
分享到:
相关推荐
Spring 框架是 Java 开发中的一个核心组件,它为开发者提供了丰富的功能,包括对 JDBC(Java Database Connectivity)的支持。在 Spring 中,对 JDBC 的处理被设计得更加优雅和易于管理,通过引入数据访问对象(DAO...
`spring-jdbc-4.2.xsd`是Spring 4.2版本的JDBC配置XML Schema定义,它定义了一系列元素和属性,用来描述如何配置Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcInsert等核心组件,以及事务管理相关...
在Java开发中,Spring框架以其强大的功能和易用性深受开发者喜爱,其中Spring JDBC模块提供了对数据库操作的支持。Spring JDBC DAO(Data Access Object)模式是Spring提供的一种数据库访问机制,旨在简化传统的JDBC...
Spring JDBC模块是Spring框架的一部分,它提供了对JDBC(Java Database Connectivity)的高级抽象,简化了数据库操作。在这个场景中,我们关注的是Spring JDBC的5.1.3版本。 **Spring JDBC 5.1.3 版本详解** ...
4. **数据访问/集成**:Spring对JDBC、ORM框架(如Hibernate、MyBatis)以及NoSQL数据库的支持进一步增强,提供了事务管理功能,确保数据一致性。 5. **Spring Boot**:虽然Spring Boot不是4.3.9.RELEASE的一部分,...
《Spring框架5.2.8.RELEASE源码详解》 Spring框架是Java开发中的核心组件,它以其模块化、灵活性和强大的功能深受开发者喜爱。5.2.8.RELEASE是Spring框架的一个稳定版本,提供了诸多改进和新特性,旨在提升性能、...
<artifactId>sharding-jdbc-spring-boot-starter 对应版本号 ``` 2. 配置数据库连接:在application.properties或application.yml中配置数据库连接信息,包括数据库URL、用户名、密码等。 ```properties spring....
Spring Framework 是一个开源的应用程序框架,它主要针对Java平台,为构建企业级应用提供了全面的解决方案。5.3.7.RELEASE是Spring Framework的一个稳定版本,包含了一系列的增强功能和性能优化。本压缩包“spring-...
该驱动兼容JDBC 4.2及以上版本,同时也兼容大多数主流的Java应用框架,如Spring、MyBatis等,方便开发者集成到现有项目中。 2.3 动态配置 PolarDB-JDBC18支持动态配置数据库连接参数,如自动重连、超时设置等,适应...
Spring Framework,作为Java领域最广泛应用的轻量级框架之一,自诞生以来就以其卓越的灵活性、强大的功能和良好的社区支持,深受广大开发者的喜爱。本次我们将深入探讨Spring Framework的最新版本5.3.20,揭示其在...
Spring框架是Java开发中的一个重要组成部分,尤其是在企业级应用领域,它以其模块化、可扩展性以及对J2EE的出色支持而备受推崇。这里我们关注的是Spring框架的2.5 RC2版本,这个版本在功能和性能上都做了很多改进和...
《Spring Boot集成MyBatis详解》 在Java开发领域,Spring Boot以其简洁的配置和快速的启动特性,已经成为构建微服务应用的首选框架。而MyBatis作为一款强大的持久层框架,深受开发者喜爱,它提供了灵活的SQL映射...
在数据访问/集成方面,Spring 5.3.2.RELEASE提供了对JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis的高级抽象,简化了数据库操作。同时,Spring Data项目提供了对各种NoSQL数据库的支持,如...
本文通过对一个基于 Spring、MyBatis 和 Sharding-JDBC 的项目进行分析,介绍了如何构建一个支持数据库分片的应用。通过遵循本文中的步骤,开发者不仅可以快速上手 Sharding-JDBC,还能够在实际项目中有效利用这项...
Spring是一个开源的应用框架,它提供了一个全面的编程模型,旨在简化Java应用程序的开发过程。Spring的核心功能包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect Oriented Programming, AOP)、事务...
8. **spring-jdbc**和**spring-orm**:提供了对JDBC和ORM框架(如Hibernate、JPA)的支持。 9. **spring-tx**:提供事务管理服务,支持编程式和声明式事务管理。 四、总结 Spring框架3.0.RELEASE在前代基础上进行...
### MySQL-JDBC-Spring源代码分析 #### 一、引言 MySQL-JDBC与Spring框架的结合,在现代Java企业级应用开发中极为常见。通过Spring框架管理数据访问层(DAO层),可以极大地简化数据库操作,并提供一致的异常处理...
**Spring4** 是一个开源的轻量级Java开发框架,旨在简化企业级应用的开发过程。它提供了强大的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)功能,支持多种模块化设计...
Spring 是一个开源的 Java 开发框架,主要用于简化企业级应用的开发工作。它通过提供一系列的基础框架,使得开发者能够更容易地处理复杂的业务逻辑,并且提高了代码的可维护性和可测试性。Spring 提供了多种不同的 ...