@Transactional 注解的问题?

来源:9-3 更新权限及子模块的接口开发

北斗神拳1984

2018-09-20

@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
我的idea也提示private方法上无法使用该注解

写回答

1回答

Jimin

2018-09-20

你好,这个问题不错,其实这个case我单独写了一篇文档,文档在慕课代码平台这个项目的文档部分。关于这个点,详细的我补充一下:


1、@Transactional 加于private方法, 无效
2、@Transactional 加于未加入接口的public方法, 再通过普通接口方法调用, 无效
3、@Transactional 加于接口方法, 无论下面调用的是private或public方法, 都有效
4、@Transactional 加于接口方法后, 被本类普通接口方法直接调用, 无效
5、@Transactional 加于接口方法后, 被本类普通接口方法通过接口调用, 有效
6、@Transactional 加于接口方法后, 被它类的接口方法调用, 有效
7、@Transactional 加于接口方法后, 被它类的私有方法调用后, 有效

总结: Transactional是否生效, 仅取决于是否加载于接口方法, 并且是否通过接口方法调用(而不是本类调用)

0
1
北斗神拳1984
非常感谢!
2018-09-20
共1条回复

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程