面试真题

Java · 中等 · 百度

@Transactional` 注解的原理?

中等 Java 🎤 百度
参考答案
结论:@Transactional基于Spring AOP和代理机制实现声明式事务。要点:1.原理:Spring容器扫描该注解,为Bean创建代理(JDK动态代理或CGLIB),在方法调用前通过TransactionInterceptor开启事务,成功后提交,异常时回滚;2.底层:PlatformTransactionManager获取数据库连接,绑定到ThreadLocal供同一线程复用;3.属性:支持传播行为、隔离级别、超时、只读等;4.注意:同类内部方法自调用不走代理导致失效;默认仅RuntimeException回滚;示例:@Transactional(propagation=Propagation.REQUIRED, isolation=Isolation.DEFAULT)。
题目整理自公开面经,答案由校招宝自研生成,仅供参考