后端岗位面试题更新 2026-08-05

在Spring中,类A的A1方法内部调用类B的B1方法,B1方法上标注了@Transactional,且B1内部又调用B2方法。请分析B1和B2中的数据库操作是否会被包裹在同一个事务中?给出理由。

百度后端开发专业服务技术原理问题排查Spring Framework

考察说明

考察Spring事务传播机制与代理调用关系

回答思路

  1. 识别B1是公共方法且由A注入的代理对象调用
  2. 说明Spring默认使用JDK动态代理或CGLIB代理
  3. 正确分析A1调用B1是外部代理调用,事务生效
  4. B1内部调用B2是this调用,不经过代理,事务不传播
  5. 总结只有B1的事务生效,B2并入B1事务(若B1开启)
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。