Spring同一个类事务处理
Spring同一个类事务处理
- 同一个类不同方法事务可以传播(需要满足事务的前提)
- 同一个类两个不同方法调用(注解方式)
- 同一个类两个不同方法调用(注解方式,父方法捕捉了异常)
- 同一个类两个不同方法调用(注解方式,父方法未使用事务)
- 同一个类两个不同方法调用(子方法编码事务方式,父方法未使用事务)
- 同一个类两个不同方法调用(子方法编码事务方式,父方法使用注解事务)
- 结论
同一个类不同方法事务可以传播(需要满足事务的前提)
你好!查看一些博客说,同一个类的不同标有事务注解的方法不可以传播。今天就以身试法,尝试一下,不同情况下事务的回滚情况。
同一个类两个不同方法调用(注解方式)
首先看到是同一个类中的两个方法,更新不同的字段。
test类中的测试方法
执行后数据库结果:发现数据并没有被更新。
同一个类两个不同方法调用(注解方式,父方法捕捉了异常)
同一个类中的两个方法,更新不同的字段。
test类中的测试方法
执行后数据库结果:发现数据被更新了,都没有回滚。
同一个类两个不同方法调用(注解方式,父方法未使用事务)
同一个类中的两个方法,更新不同的字段。
test类中的测试方法
执行后数据库结果:发现数据被更新了,子方法没有回滚数据。
同一个类两个不同方法调用(子方法编码事务方式,父方法未使用事务)
同一个类中的两个方法,更新不同的字段。
test类中的测试方法
执行后数据库结果:发现父方法数据被更新了,子方法回滚数据。
同一个类两个不同方法调用(子方法编码事务方式,父方法使用注解事务)
同一个类中的两个方法,更新不同的字段。
test类中的测试方法
执行结果:发现卡在了子方法的更新上
注意:一个流程方法中,混用不同的事务方式,会卡在子事务操作这里。
结论
根据上面的测试结果。
同一个类不同方法是可以传播事务的。
注解方式的事务,异常需要抛出去,才能回滚事务。
Spring同一个类事务处理相关推荐
- Spring - 同一个类中的方法互相调用,注解失效问题的分析和解决(转)
Spring - 同一个类中的方法互相调用,注解失效问题的分析和解决(转) 参考文章: (1)Spring - 同一个类中的方法互相调用,注解失效问题的分析和解决(转) (2)https://www. ...
- spring同一个类中,一个方法调用另外一个注解(@Transactional)方法时,注解失效
title: "spring同一个类中,一个方法调用另外一个注解(@Transactional)方法时,注解失效" url: "https://wsk1103.githu ...
- Spring同一个类中注解方法互相调用的问题
在使用Spring时,很多初学者不了解Spring对象注入的机制和面向切面编程的原理,很容易犯一些错误.下面就是初学者最容易犯的错误.举例如下: @Component public class Tes ...
- @transactional注解_为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!...
Spring注解(如@Transactional.@Cacheable.@Async等),在使用不当时,很可能会失效.失效的情况有很多种,本文我们就来瞅瞅,为啥同一个类中普通方法调用Spring注解方 ...
- Spring事务管理嵌套事务详解 : 同一个类中,一个方法调用另外一个有事务的方法
Spring 事务机制回顾 Spring事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务. 结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷. ...
- 在同一个类中调用另一个方法没有触发 Spring AOP 的问题
实例: @Target(value = {ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @in ...
- Spring中同一个类中方法调用事务不生效,非事务方法调用事务方式事务不生效
我们假定在SerivceXXX中有两个方法: serviceA 非事务方法 serviceB事务方法 如果serviceA中方法定义类似如下: public void serviceA(){..... ...
- 腾讯二面:@Bean与@Component用在同一个类上,会怎么样?
文章来源:https://sourl.cn/nN9qXE 疑虑背景 | 疑虑描述 最近,在进行开发的过程中,发现之前的一个写法,类似如下: 以我的理解,@Configuration 加 @Bean 会 ...
- Spring component-scan类扫描加载过程
2019独角兽企业重金招聘Python工程师标准>>> https://github.com/javahongxi 有朋友最近问到了spring加载类的过程,尤其是基于annotat ...
最新文章
- iOS高效开发必备的10款Objective-C类库
- 算法 有两个相同大小数组均已按升序排列好 编程计算这两个数组的中位数 C
- ElasticSearch 2.0以后的改动导致旧的资料和书籍需要订正的部分
- 如何向5岁小孩解释什么是支持向量机(SVM)?
- python2与python3同时安装_Win10下python3和python2同时安装并解决pip共存问题
- MySQL-安全对调两个表名
- L1-034 点赞 (20 分)
- 剑指offer——面试题56:链表中环的入口
- Spring Security Oauth2系列(一)
- JAVA- Jersey使用示例
- 如何在AngularJS中使用SpreadJS?
- matlab 三边测量,三边测量的定位算法,matlab转为c
- Auto.js微信抢红包脚本
- .net core | donet core IIS 文件路径问题
- 2021年UI设计面试问题及答案解析
- hdmi 计算机 接口类型,HDMI接口有几种规格尺寸?高清HDMI接口知识大扫盲
- 【190320】VC 视频捕捉与网络传输源代码
- 给剧荒的你:Python高分日剧刷剧指南
- 音乐转换成16进制写进单片机的方法(音符频率和音符的播放长度时间计算)
- “左手画圆,右手画方”
热门文章
- 权限管理系统(用户信息管理模块业务组件实现代码,带注解)
- 海康软件web拉取视频流遇到的坑
- Error creating bean with name ‘ribbonLoadBalancingHttpClient‘
- 转:Emacs生存指南 (Emacs入门必读)
- python的argc与argv
- 最大后验概率估计算法(简单,通俗易懂)
- java唯一id_生成唯一ID的四种办法 程序员必备
- 彩虹7色的RGB及CMYK值列表参考
- 【Unity面试】 C#语言基础核心 | 面试真题 | 全面总结 | 建议收藏
- FleaPHP 学习笔记2