@Transactional如果在一个方法上面添加@Transactional注解查看postgresql数据库当前的事务隔离级别:@Transactionalpublic void updateData(){aService.updateA();//更新A表bService.updateB();//更新B表cService.updateC();//更新C表}假设,如果每一个service只会对应的更新他所对应的这张表,下面这三个方法上面加不加@Transactional效果都是一样的。不会对最终的结果产生影响。Pubic void updateA(){//只进行更新A表的操作}Pubic void updateB(){//只进行更新B表的操作}Pubic void updateC(){//只进行更新C表的操作}这种架构,的意思是将ABC三张表的更新操作绑定成一个原子,更新的时候,要成功都成功,要失败都失败。如果将上面的架构换成下面这种模式:public void updateData(){aService.updateA();//更新A表if(1==1){Throw new BussinessException(“模拟发生异常”);}bService.updateB();//更新B表cService.updateC();//更新C表}假设,如果每一个service只会对应的更新他所对应的这张表,下面这三个方法上面加不加@Transactional效果都是一样的。不会对最终的结果产生影响。Pubic void updateA(){//只进行更新A表的操作}Pubic void updateB(){//只进行更新B表的操作}Pubic void updateC(){//只进行更新C表的操作}我们会发现程序抛出了异常,但是A表成功的更新了数据。如果我们在类上面添加@Transactional 注解@Transactionalpublic class Test{public void updateData(){aService.updateA();//更新A表bService.updateB();//更新B表cService.updateC();//更新C表}}Pubic void updateA(){//只进行更新A表的操作 假设A表中有两条三条数据要进行更新操作,//我在更新第二条数据的时候手动抛出一个异常}这个时候,我们进行测试,会发现,所有的数据都不会进行更新,这就是类级别的@Transactional的作用。

springBoot框架方法上面添加@Transactional注解的使用相关推荐

  1. springBoot方法上面添加@Transactional注解与类上面添加@Transactional注解的区别

    @Transactionalpublic void updateData(){aService.updateA();//更新A表bService.updateB();//更新B表cService.up ...

  2. Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

    写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...

  3. service层的方法上使用@Transactional注解,程序发生异常没有回滚

    场景:程序在运行过程中发生了异常,虽然使用了@Transactional对方法进行注解,但是事务并没有回滚. 解决方案:经检查发现,在service层的方法中使用了try...catch关键字,导致发 ...

  4. 常见的 @Transactional 注解,你确定用对了吗?

    @Transactional属性详解 声明式事务管理建立在AOP之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务. 简而 ...

  5. @Transactional注解说明

    声明式事务管理建立在AOP之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务. 简而言之,@Transactional注解 ...

  6. Java--SpringBoot使用@Transactional注解添加事务

    一.Java事务 1.通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (isol ...

  7. 新版本springboot整合@transactional注解

    多个包就以逗号隔开,讲一下SpringBoot的事务管理,这个时候我来问一下大家,Spring事务管理的时候,尤其整合事务的时候,效果没有出现,但是那时候可能没有人说,就过去了,我就专门研究了一下,没 ...

  8. spring同一个类中,一个方法调用另外一个注解(@Transactional)方法时,注解失效

    title: "spring同一个类中,一个方法调用另外一个注解(@Transactional)方法时,注解失效" url: "https://wsk1103.githu ...

  9. 【BUG】@Transactional注解在同类方法调用中不生效

    后台代码 今天做系统开发的时候,遇到了一个BUG:@Transactional注解在同类方法调用中不生效 代码如下: /*** @description: 快递100接口服务类* @date 2021 ...

最新文章

  1. 第五周-第11章节-Python3.5-内置模块详解之Xml模块
  2. 韩文版ie8 启用java_只有在启用了javascript的情况下,IE8才会在IE8模式下重新加载崩溃...
  3. CTF-Python常用函数语段详解;
  4. java 获取服务器硬件_dell服务器远程获取硬件状态
  5. Qt文档阅读笔记-QNetworkProxy::ProxyType解析(Qt设置Fiddler代理)
  6. java方法重载_在Python中该如何实现Java的重写与重载
  7. python-jenkins 操作
  8. webui-popover 一个轻量级的jquery弹出层插件
  9. 巧用CSS居中未知高度的块元素
  10. 2018上半年区块链安全报告
  11. 用ffmpeg转多音轨的mkv文件
  12. matlab汉明窗dft,Mitre_sfr代码注解(四) LSF / 汉明窗 / SFR(DFT)计算
  13. 推荐好轮子【Echarts数据可视化】图表插件 兼容ie6、7、8
  14. CSS溢出文字使用省略号表示
  15. 郭金东金浦集团荣登“2019中国民营企业500强”和“2019中国民营企业制造业500强”榜单
  16. Compact Multi-Signatures for Smaller Blockchains学习笔记
  17. PostgreSQL实现USERENV函数(兼容oracle)
  18. 软件人员推荐书目(都是国外经典书籍!!!)
  19. python解析gff文件中的转录本
  20. gamit怎么利用glred生成测站时间序列_香侬读 | 按什么套路生成?基于插入和删除的序列生成方法

热门文章

  1. mfa助听器设备能否在android,助听器的蓝牙功能到底有什么用,购买的价格,以及购买时要注意什么等问题...
  2. 5h是什么意思_2B铅笔中的2B是啥意思?
  3. linux 中常见的压缩和解压缩的命令
  4. java接口自动化(四) - 企业级代码管理工具Git的应用
  5. python自动化办公 51cto_利用python实现批量自动化运维脚本案例
  6. [Ext JS ] 7.25.1 Form或者面板自动定位到错误的输入框
  7. Oracle REGEXP_SUBSTR 字符串截取函数的使用
  8. Tex, LaTex概念及实例
  9. 实验三 lr分析器的设计与实现_实验室规划设计趋势之一灵活性|无风管通风柜的灵活性是如何实现的?...
  10. oracle突然挂了服务全部消失,OracleService服务不见了|OracleServiceXE服务没有了