后端岗位面试题更新 2026-08-05
如果一个类中的两个方法A和B都标注了@Transactional,它们被另一个方法C(也在同一类中)调用,事务还会生效吗?
高途集团后端开发教育/培训技术原理问题排查Spring Framework
考察说明
考察Spring事务代理机制与自调用导致的事务失效问题
回答思路
- 识别出C调用A/B是同类内部自调用,绕过代理
- 说明@Transactional默认基于代理实现,自调用不经过代理
- 讨论可通过AopContext、注入自身或拆分Bean来解决
- 评估代理方式(JDK动态代理/ CGLIB)对方法可见性的影响
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。