码迷,mamicode.com
首页 > 编程语言 > 详细

Spring事务管理

时间:2018-10-06 12:03:52      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:src   获取   表示   事务隔离   web   三层   调用   匿名   返回值   

课程目标

  • 事务回顾:回顾事务基本概念以及事务相关的特性
  • 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事务管理

标签:src   获取   表示   事务隔离   web   三层   调用   匿名   返回值   

原文地址:https://www.cnblogs.com/songsongblue/p/9743641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!