在 Spring 中,如果一个带有 @Transactional 注解的方法被同一个类中的另一个方法调用,当后者的事务回滚时,前者的事务会如何?
考察说明
考察 Spring 事务传播机制与自调用失效原理
回答思路
- 明确 Spring 事务基于代理实现,自调用不会经过代理
- 分析方法一和方法二的事务传播行为
- 说明方法二回滚不会影响方法一,因为方法一是在无事务或独立事务上下文中执行的
- 若方法二未开启事务,则整体无事务,回滚仅针对方法二自身逻辑
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。