Java事务注解@Transactional高频面试题及详细答案(实战向).docxVIP

  • 2
  • 0
  • 约4.1千字
  • 约 7页
  • 2026-07-27 发布于河北
  • 举报

Java事务注解@Transactional高频面试题及详细答案(实战向).docx

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)

1亿VIP精品文档

相关文档