Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
无糖冰可乐211 小时前
IDEA多java版本切换合作小小程序员小小店1 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。brucelee1861 小时前
IntelliJ IDEA 设置 Local History 永久保留上去我就QWER1 小时前
Qt快捷键“魔法师”:QKeySequencePluto_CSND3 小时前
Java中的静态代理与动态代理(Proxy.newProxyInstance)百***46454 小时前
Java进阶-在Ubuntu上部署SpringBoot应用serve the people4 小时前
Prompts for Chat Models in LangChain一叶飘零_sweeeet4 小时前
不止于 API 调用:解锁 Java 工具类设计的三重境界 —— 可复用性、线程安全与性能优化惊讶的猫5 小时前
LSTM论文解读獨枭5 小时前
C# 本地项目引用失效与恢复全攻略