- 2
- 0
- 约4.1千字
- 约 7页
- 2026-07-27 发布于河北
- 举报
Java事务注解@Transactional高频面试题及详细答案(实战向)
一、基础认知类(初级必问)
1、@Transactional注解的作用是什么?底层原理是什么?
参考答案:
@Transactional是Spring提供的声明式事务注解,核心作用是简化数据库事务控制,不用手动写begin、commit、rollback事务代码,通过注解就能实现方法级别的事务管理。
底层核心原理是SpringAOP动态代理:
1.当被注解标记的方法被调用时,Spring的事务拦截器会先拦截方法请求;
2.开启数据库事务,获取数据库连接;
3.执行目标方法逻辑;
4.方法正常执行完毕,自动提交事务;
5.方法抛出指定异常,自动回滚事务;
6.最终释放数据库连接。
注意:事务生效的前提是必须通过Spring容器调用代理对象的方法,直接new对象调用、本类内部调用都不会生效。
2、@Transactional可以加在哪些位置?优先级如何?
参考答案:
可以标注在类上和public方法上,private/protected/default方法无效。
优先级:方法上注解类上注解
1.类上加注解:当前类所有public方法都继承该事务配置;
2.方法上加注解:仅当前方法生效,且会覆盖类上的事务配置;
3.方法无注解、类有注解:沿用类的事务规则;
4.类和方法都无注解:无事务
原创力文档

文档评论(0)