Spring事务管理

Posted songsong_p_blue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring事务管理相关的知识,希望对你有一定的参考价值。

课程目标

  • 事务回顾:回顾事务基本概念以及事务相关的特性
  • Spring事务管理的一组API
  • Spring的编程式事务管理
  • Spring的声明式事务管理

1、事务回顾

 

 

 

 

2、Spring事务管理的一组API

Spring接口介绍

 3-2 PlatformTransactionManager接口介绍

 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:多个切入点,多个通知

 

 

 

以上是关于Spring事务管理的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架--Spring事务管理和Spring事务传播行为

Spring框架--Spring事务管理和Spring事务传播行为

Spring本地事务

如何手动开启spring事务

什么叫做spring的声明式事务

spring怎么进行的事务管理,求指导?