Spring事务管理
课程目标
- 事务回顾:回顾事务基本概念以及事务相关的特性
- Spring事务管理的一组API
- Spring的编程式事务管理
- Spring的声明式事务管理
1、事务回顾
2、Spring事务管理的一组API
Spring接口介绍
3-2 PlatformTransactionManager接口介绍![](https://img2018.cnblogs.com/blog/1105922/201810/1105922-20181005205929264-189356463.png)
3-3 TransactionDefinition定义事务隔离级别
3-4 TransactionDefinition定义事务传播行为
实际的开发中,我们是将服务器端分成三层:Web层、业务层、持久层
什么是事务的传播行为:解决业务层方法之间的相互调用,然后产生这种事务应该如何进行传递的问题
将隔离级别分成三类,以红色标记为准分类,重点记标红的
1.让aaa,bbb这两个操作是在一个事务里面的,
2.aaa,bbb这两个操作不在一个事务里面
3.aaa执行完成以后,我们设置一个保存点,然后如果bbb发生了异常之后,我们可以让它回滚到保存点的位置或者是回滚到最初始的状态
4-1转账环境的搭建
面向接口的开发
3、Spring的编程式事务管理
事务管理的模板TransactionTemplate:Spring为了简化事务管理的代码而提供的类(jdbc也有模板:简化jdbc的开发)
jiuke
匿名内部类中使了外部类里面的变量,那么我们需要把外部这些变量变成final就可以了
事务管理模板是真正来进行事务管理的类(DataSourceTransactionManager)
连接池可以获取到具体的连接对象
4、Spring的声明式事务管理
业务层的代码不需要进行任何操作,因为它是一种AOP的思想
有了连接池,它才可以获得连接,才可以帮我们进行相应的事务管理
ref:对象
value:属性
*代表任意字符
* cn.muke.spring.demo3.AccountService:这里的*表示方法的返回值,就是任意的返回值
切面
advisor:一个切入点,一个通知
aspect:多个切入点,多个通知