Spring @Transactional 失效分析

比眉伴天荒 2023-07-21 11:18 22阅读 0赞

转载自:https://segmentfault.com/a/1190000014617571

总结

Spring Transactional一直是RD的事务神器,但是如果用不好,反会伤了自己。下面总结@Transactional经常遇到的几个场景:

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

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

发表评论

表情:
评论列表 (有 0 条评论,22人围观)

还没有评论,来说两句吧...

相关阅读