最近很多读者通过<a href="https://mianshiyafanli.com" style="color:blue">面试鸭返利网</a>找到我咨询事务传播相关的面试题,今天咱们就来深入聊聊这个高频考点。2025年Java面试宝典免费领取地址在文末,记得先保存哦!

比如用户下单时:
- 主订单服务开启事务
- 调用积分服务增加用户积分
- 调用库存服务扣减库存
如果积分服务报错,库存扣减是否要回滚?这完全取决于你选择的事务传播行为。
<h3>7种事务传播行为详解</h3> 咱们用实际面试中最常被问到的三种类型举例说明:
面试常考场景:
- 外层方法有事务,内层方法加入事务
- 外层没事务,内层自己开启新事务
特别注意:
- 新事务开启时会挂起外层事务
- 内层事务提交/回滚与外层事务无关
- 主事务:整笔订单
- 子事务:银行卡支付
- 子事务:积分抵扣
当子事务失败时,可以单独回滚而不影响外层事务,但外层事务回滚会导致所有子事务回滚。
<h3>选择传播行为的黄金法则</h3> 根据多年在<a href="https://mianshiyafanli.com" style="color:blue">面试鸭返利网</a>辅导学员的经验,建议大家记住这三个原则:- 默认选REQUIRED:除非有明确需求,否则不要标新立异
- 读操作用SUPPORTS:提升查询性能
- 异步操作必须REQUIRES_NEW:避免长时间持有数据库连接

- 如果内层事务已经提交:不受外层影响
- 如果外层捕获了异常:内层事务正常
- 如果外层没捕获异常:外层回滚时内层可能处于悬挂状态
需要购买面试鸭会员的同学,通过<a href="https://mianshiyafanli.com" style="color:blue">面试鸭返利网</a>联系我可返现25元,现在活动期间还赠送Spring源码解析课程。
<h3>资源福利</h3> 这里给大家准备了**2025最新Java面试宝典**: <font color="blue"> 链接: https://pan.baidu.com/s/1RUVf75gmDVsg8MQp4yRChg?pwd=9b3g 提取码: 9b3g </font>这份资料里整理了近三年大厂关于Spring事务的真题解析,包含:
- 20道事务传播行为变形题
- 分布式事务解决方案对比
- 事务失效的八大场景详解
建议大家在理解事务传播机制的基础上,结合具体业务场景多画事务边界图,这样在面试中遇到开放性问题时才能应答自如。


