位置: IT常识 - 正文

从阿里规约看Spring事务(阿里规则官方头条)

编辑:rootadmin
目标:事务失效引发的灾难 如下图(张三 >李四转账) tips 下订单 订单支付 减库存(失败) 超卖现象 代码回忆: //实现类 public class UserServiceImpl implements UserService { @Autowired private UserMapper ...

推荐整理分享从阿里规约看Spring事务(阿里规则官方头条),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:阿里规则在哪里看,阿里规则在哪里看,阿里做到p7,2021阿里新规则,阿里规范,阿里规范,阿里规则在哪里看,阿里规范,内容如对您有帮助,希望把文章链接给更多的朋友!

目标:事务失效引发的灾难

如下图(张三--->李四转账)

tips

下订单-------订单支付-----减库存(失败)

超卖现象

代码回忆:

//实现类public class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Resourceprivate LogService logService;@Override@Transactional//@Transactional(rollbackFor = Exception.class)public void insert() throws Exception {method1_Test();}//模拟转账@Transactionalprivate void method1_Test() throws Exception {System.out.println(">>>>>>>>>>>进入到业务方法");User user = new User();user.setName("张三");userMapper.insertUser(user);//张三扣减500元addPayment();//模拟李四增加500元(检查异常)} //FileNotFoundException extends IOExceptionprivate void addPayment() throws FileNotFoundException {FileInputStream in = new FileInputStream("a.txt");//模拟检查异常}} ......略

如果说你从从事务方法中抛出的是检查异常(io、sql),那么这个时候,Spring将不能进行事务回滚。

从阿里规约看Spring事务(阿里规则官方头条)

是不是很恐怖呢??

所以说,阿里规定1、让检查异常也回滚:你就需要在整个方法前加上@Transactional(rollbackFor=Exception.class)

2、让非检查异常不回滚:需要加入@Transactional(notRollbackFor=RunTimeException.class)

3、不需要事务管理(or 日志丢失)需要加入@Transactional(propagation=Propagation.NOT_SUPPORTED)

课程目标总结

1、解决事务失效:通过源码学习如何让检查异常也回滚(or 运行异常不回滚);从源码角度深入底层原理

2、解决无需事务控制;查询 or 日志记录;通过传播属性如何控制;底层是如何实现的

3、正常的事务执行流程在源码中是如何实现的

1.1 Spring事务总体介绍

在Spring中,事务有两种实现方式:

编程式事务管理: 编程式事务管理使用TransactionTemplate可实现更细粒度的事务控制。

申明式事务管理: 基于Spring AOP实现。

其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。

本文链接地址:https://www.jiuchutong.com/zhishi/304598.html 转载请保留说明!

上一篇:最新2022年Auto Cad2019专用破解版windows11-windows12-32位64位下载(附视频教程)免费下载(学生誓词最新2022年)

下一篇:HashMap详解(hashmap教程)

  • 内存储器的存储容量为1mb指的是(内存储器的存储量大于外部存储器)

    内存储器的存储容量为1mb指的是(内存储器的存储量大于外部存储器)

  • 快手说说怎么看不到了(快手说说怎么看浏览记录)

    快手说说怎么看不到了(快手说说怎么看浏览记录)

  • r5 4600u相当于i几(r5-4600u相当于英特尔哪个处理器)

    r5 4600u相当于i几(r5-4600u相当于英特尔哪个处理器)

  • 畅享10和哪个型号手机壳通用(畅享10和10s)

    畅享10和哪个型号手机壳通用(畅享10和10s)

  • 微信群搜索不到聊天内容(微信群搜索不到是什么情况)

    微信群搜索不到聊天内容(微信群搜索不到是什么情况)

  • 笔记本黑屏怎么强制关机重启(笔记本黑屏怎么解决)

    笔记本黑屏怎么强制关机重启(笔记本黑屏怎么解决)

  • 拍摄镜头有哪几种手法(六种拍摄镜头)

    拍摄镜头有哪几种手法(六种拍摄镜头)

  • 微信夜间模式在哪里关闭(微信夜间模式在哪里设置vivo)

    微信夜间模式在哪里关闭(微信夜间模式在哪里设置vivo)

  • iphone11promax是什么处理器(iphone11promax是什么屏幕)

    iphone11promax是什么处理器(iphone11promax是什么屏幕)

  • siri自动弹出怎么回事(siri老是自己跳出来是什么意思)

    siri自动弹出怎么回事(siri老是自己跳出来是什么意思)

  • 纯净acg音效是什么效果(纯净acg音效是什么意思?)

    纯净acg音效是什么效果(纯净acg音效是什么意思?)

  • 华为mate30pro nfc位置(华为mate30pro nfc怎么用门禁卡)

    华为mate30pro nfc位置(华为mate30pro nfc怎么用门禁卡)

  • excel数字间距怎么调(excel数字间距怎么去掉)

    excel数字间距怎么调(excel数字间距怎么去掉)

  • 手机信号线断了有什么影响(手机信号线断了能开机吗)

    手机信号线断了有什么影响(手机信号线断了能开机吗)

  • 手机照片怎么镜像翻转(手机照片怎么镜面对称)

    手机照片怎么镜像翻转(手机照片怎么镜面对称)

  • 怎么找回删除的聊天记录(怎么找回删除的照片)

    怎么找回删除的聊天记录(怎么找回删除的照片)

  • 优酷hdr收费吗(优酷hdr另外收费吗?)

    优酷hdr收费吗(优酷hdr另外收费吗?)

  • win10连不上校园网wifi(win10连不上校园网怎么办)

    win10连不上校园网wifi(win10连不上校园网怎么办)

  • ios12 系统40g怎么删(苹果12怎么系统内存占好多)

    ios12 系统40g怎么删(苹果12怎么系统内存占好多)

  • 一点怎么打(一点怎么打出来的)

    一点怎么打(一点怎么打出来的)

  • 微信视频动态比例不对(微信动态视频比例怎么调整)

    微信视频动态比例不对(微信动态视频比例怎么调整)

  • 监控摄像头时间不同步(全国摄像头实时监控)

    监控摄像头时间不同步(全国摄像头实时监控)

  • Vue中如何使用v-model双向数据绑定select、checked等多种表单元素(vue中如何使用axios)

    Vue中如何使用v-model双向数据绑定select、checked等多种表单元素(vue中如何使用axios)

  • Django_request学习(django中httpresponse)

    Django_request学习(django中httpresponse)

  • Python科学计算库Scipy入门必看教程(python科学计算库有哪些)

    Python科学计算库Scipy入门必看教程(python科学计算库有哪些)

  • 可税前扣除的费用有哪些
  • 纳税申报的基本内容有哪些
  • 如何进行个人所得税认定
  • 应付账款不需要函证
  • 施工二级资质是什么意思
  • 公司入股资金有发票吗
  • 固定资产可以不设置残值吗
  • 税务局返还的三种税种
  • 民办非企业单位设立分机构
  • 哪些财务指标可以用于判断一个企业即将发生财务危机
  • 公司临时聘用人员法规
  • 工会经费应该计入人工成本吗
  • 个人企业属于什么部门管理
  • 非税收入通用票据需要盖章吗
  • 个人独资企业也要报税吗
  • 原始凭证是出纳粘贴还是会计粘贴
  • 可转债转换为股权投资的企业所得税处理
  • 民办非企业缴纳失业保险吗
  • 电子发票作废怎么做
  • 支票可以自己给自己开吗
  • 餐饮发票免税能报销吗
  • 外经证预缴税款分录怎么记账
  • win7操作系统激活
  • 英雄联盟电脑软件图片
  • 国有资产租赁合同问题
  • 流动资产损毁报废收益
  • window10玩吃鸡总崩溃
  • PHP:Memcached::touchByKey()的用法_Memcached类
  • PHP:stream_encoding()的用法_Stream函数
  • 投标保证金怎么退还流程
  • linux bsub
  • 公司转让账务处理,账户抹平
  • 长期应付款的摊余成本怎么计算
  • uniapp引入bootstrap
  • 工程未审计资金能支付到多少
  • 太原市插画工作室
  • php动态生成网页
  • 三维重建的主要步骤
  • 最强大的人工智能武器
  • php怎么获取post数据
  • 餐饮固定成本怎么算的
  • 异地工作人员管理
  • 费用退回如何记账
  • 计提提成是什么意思
  • 关联方计提坏账准备如何规定
  • 无销项税能抵扣进项税吗
  • 对增值税发票开具方面是有啥要求?
  • 什么叫房屋租购同权
  • 个体工商户需要给员工交社保吗
  • 购买原材料的支出
  • 应收在借方什么意思
  • 安全生产费如何计量
  • 小规模没有销售额如何申报
  • 资本公积的相关资料
  • 零申报是不是什么都不用填
  • 软件企业确认收入
  • 两笔不同业务能转账吗
  • 交通运输行业指什么
  • 建账的大体流程有哪些
  • sql server 字符串操作
  • 繁体系统安装简体软件
  • win8系统手机
  • win10系统edge浏览器兼容性
  • 怎么使用mac打电话
  • 控制面板声音设置
  • Linux通过netstat命令查看80端口连接数的方法
  • bat 批处理文件
  • dos删除文件夹下所有文件 不删除父目录
  • android recycleview 刷新
  • CalledFromWrongThreadException: Only the original thread that created a view
  • unityapi解析
  • JavaSacript中charCodeAt()方法的使用详解
  • js获取div下指定元素的值
  • 多线程 python
  • 电子发票开票失败怎么回事?
  • 深圳国税电子税务局入口
  • 马来西亚进口货物的标签要求
  • 发票机如何打印文件
  • 税务机关绩效管理十年变化
  • 纳税明细怎么查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设