Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
yaoxin5211236 小时前
434. Java 日期时间 API - Period 基于日期的时间段凡人叶枫7 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外学逆向的7 小时前
C++纯虚函数何极光7 小时前
IDEA集成Maven程序员二叉7 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案程序员二叉7 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理老马识途2.08 小时前
在AI的帮助下理解spring的启动过程青山木8 小时前
Hot 100 --- 轮转数组凡人叶枫8 小时前
Effective C++ 条款22:将成员变量声明为 privateQt程序员8 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)