位置: 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教程)

  • 计提个税会计科目怎么做
  • 会计核算职能有哪些特征
  • 借转股意思
  • 代理费住宿费都包括什么
  • 补缴税款的会计怎么做账
  • 飞机票退票费如何记账
  • 工程施工计入资产负债表
  • 个体每月开票超10万
  • 发票为啥一直显示上传不成功
  • 增值税加附加税加企业所得税加印花税是多少个税点
  • 工程资金占用计算利率是多少
  • 录入凭证需要做哪些工作
  • 计提应付票据利息的会计分录
  • 机票退票账务处理
  • 房子免租期
  • 无形资产出售收入属于营业收入吗
  • 计入在建的工资会计科目
  • 给政府开发票如何处理?
  • 企业所得税季报营业收入,营业成本怎么填
  • 营业用房标准
  • 企业账面库存过大应怎样处理好
  • 金税盘发票份数没有显示
  • 公司之间过户车辆要交税吗
  • 小规模企业现金规定最新
  • 公司支出的消防费用
  • 开始菜单无法打开怎么办
  • 电脑病毒的特点包括
  • 如何在Windows 11上卸载更新
  • 差额征收单位所需材料
  • PHP:pg_convert()的用法_PostgreSQL函数
  • 保险多扣一个月
  • 涉税服务实务重点总结
  • 阿贡火山经常性爆发的原因
  • 银行存款日记账与银行对账单之间的核对属于
  • 莫纳皮拉
  • Symfony2实现在doctrine中内置数据的方法
  • thinkphp post
  • 装修费还没摊销完就搬家了
  • 火爆全网的头像男
  • yolo v5 可视网络结构
  • mysqldump命令不存在
  • 律师事务所可不可以对外投资呢
  • 国税申报成功未缴税
  • 基建工程转固定资产
  • 2000元以内最强二手游戏笔记本
  • 工会经费按每月
  • 土地增值税预缴计税依据
  • 税款要在15号前扣吗
  • 废旧物资专用发票
  • sqlserver数据库提示授权过期
  • 金税四期有什么变化
  • 在建工程的土地可以查封吗
  • 尚未使用或出租而待售的商品房需要交房产税吗
  • 上月发票冲红后怎么作废
  • 施工单位购买材料能直接进成本吗
  • 坏账准备具有哪些特征
  • 公司日常费用支出表怎么做
  • 挂靠工程项目预交税金的会计分录如何做?
  • sql解析框架
  • mysql模糊查询like多个条件
  • Windows Server 2008网络中顺畅访问“邻居”
  • centos 进程查询
  • win7系统怎么看wi-fi密码
  • ttf字体怎么转itz
  • linux rpm包位置
  • jquery获取复选框是否被选中
  • Android 中的guideline
  • 教你学python
  • qt绘制3d
  • 可视化gradcam
  • Node.js中的construct
  • unity简单项目
  • 安卓无法更新软件
  • @jsondeserialize
  • jquery获取值的几种方法
  • android.view.window.addflags
  • django返回json数据
  • 江苏电子税务局电话
  • 宁波银行税务贷简介
  • 进口柴油消费税是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设