一、Spring 中的 JdbcTemplate
1.1 JdbcTemplate 概述:
它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。
操作关系型数据的:
JdbcTemplate
HibernateTemplate
操作 nosql 数据库的:
RedisTemplate
操作消息队列的:
JmsTemplate
1.2 JdbcTemplate 对象的创建:
1.3 spring 中配置数据源
1.3.1 环境搭建
1.3.2 编写 spring 的配置文件
1.3.3 配置数据源
1.3.3.1 配置 C3P0 数据源:
1.3.3.2 配置 DBCP 数据源
1.3.3.3 配置 spring 内置数据源
1.4JdbcTemplate 的增删改查操作
1.4.1 前期准备:
1.4.2 在 spring 配置文件中配置 JdbcTemplate
1.4.3 最基本使用
1.4.4 保存操作
1.4.5 更新操作
1.4.6 删除操作
1.4.7 查询所有操作
1.4.8 查询一个操作
1.5 在 dao 中使用 JdbcTemplate
1.5.1 准备实体类
1.5.2 让 dao 继承 JdbcDaoSupport:
JdbcDaoSupport 是 spring 框架为我们提供的一个类,该类中定义了一个 JdbcTemplate 对象,我们可以直接获取使用,但是要想创建该对象,需要为其提供一个数据源,具体源码如下:
1.5.3 让 Dao 继承 JdbcDaoSupport 的方式能有效的减少重复代码的出现
二、Spring 中的事务控制
2.1 关于Spring 事务控制我们要明确的
第一:JavaEE 体系进行分层开发,事务处理位于业务层,Spring 提供了分层设计业务层的事务处理解决方案。
第二:spring 框架为我们提供了一组事务控制的接口。具体在后面介绍。这组接口是在 spring-tx-5.0.2.RELEASE.jar 中定义的。
第三:spring 的事务控制都是基于 AOP 的,它既可以使用编程的方式实现,也可以使用配置的方式实现。我 们学习的重点是使用配置的方式实现。
2.2 Spring 中事务控制的 API 介绍
2.2.1 PlatformTransactionManager:此接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法
我们在开发中都是使用它的实现类,如下图:
2.2.2 TransactionDefinition:它是事务的定义信息对象,里面有如下方法
2.2.2.1 事务的隔离级别:
2.2.2.2 事务的传播行为
2.2.2.3 超时时间:默认值是-1,没有超时限制。如果有,以秒为单位进行设置。
2.2.2.4 是否是只读事务:建议查询时设置为只读。
2.2.3 TransactionStatus:此接口提供的是事务具体的运行状态,方法介绍如下图:
2.3 基于XML的声明式事务控制(配置方式)
2.3.1 环境搭建
2.3.1.1 第一步:拷贝必要的 jar 包到工程的 lib 目录
2.3.1.2 第二步:创建 spring 的配置文件并导入约束
2.3.1.3 第三步:准备数据库表和实体类
2.3.1.4 第四步:编写业务层接口和实现类
2.3.1.5 第五步:编写 Dao 接口和实现类
2.3.1.6 第六步:在配置文件中配置业务层和持久层对象
2.3.2 配置步骤
2.3.2.1 第一步:配置事务管理器
2.3.2.2 第二步:配置事务的通知引用事务管理器
2.3.2.3 第三步:配置事务的属性
2.3.2.4 第四步:配置 AOP 切入点表达式
2.3.2.5 第五步:配置切入点表达式和事务通知的对应关系
三、Spring5 的新特性
3.1与 JDK 相关的升级
3.1.1 jdk 版本要求:
spring5.0 在 2017 年 9 月发布了它的 GA(通用)版本。该版本是基于 jdk8 编写的,所以 jdk8 以下版本 将无法使用。同时,可以兼容 jdk9 版本。
tomcat 版本要求 8.5 及以上。
注: 我们使用 jdk8 构建工程,可以降版编译。但是不能使用 jdk8 以下版本构建工程。 由于 jdk 和 tomcat 版本的更新,我们的 IDE 也需要同时更新。(目前使用的 eclipse 4.7.2)
3.1.2 利用 jdk8 版本更新的内容
第一:基于 JDK8 的反射增强
第二:@NonNull 注解和@Nullable 注解的使用:
用 @Nullable 和 @NotNull 注解来显示表明可为空的参数和以及返回值。这样就可以在编译的时候处理空值而不是在运行时抛出 NullPointerExceptions。
第三:日志记录方面
Spring Framework 5.0 带来了 Commons Logging 桥接模块的封装, 它被叫做 spring-jcl 而 不是标准的 Commons Logging。当然,无需任何额外的桥接,新版本也会对 Log4j 2.x, SLF4J, JUL ( java.util.logging) 进行自动检测。
3.2核心容器的更新
3.3JetBrains Kotlin 语言支持
3.4响应式编程风格
3.5Junit5 支持
3.6依赖类库的更新
网友评论