Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
aqiu1111111 小时前
【C++算法打怪专栏】8. 字符串转换整数 (atoi)爱吃香菜的初学者1 小时前
十四.Linux——消息队列迅猛龙办公室1 小时前
python实现倒序输出数字夏幻灵7 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱程序猿编码7 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码bkspiderx9 小时前
Qt 插件机制:动态扩展应用功能的核心框架代码什么用9 小时前
Spring基础使用程序员老陆9 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式沐晓时光9 小时前
C语言入门,深入理解指针(3)Su米苏9 小时前
Spring AI 中MCP 与普通 @Tool的区别