Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
TracyCoder1233 分钟前
Java String:从内存模型到不可变设计想用offer打牌9 分钟前
Spring AI Alibaba与 Agent Scope到底选哪个?情缘晓梦.12 分钟前
C++ 内存管理黄晓琪12 分钟前
Java AQS底层原理:面试深度解析(附实战避坑)我是大咖13 分钟前
二维数组与数组指针姓蔡小朋友25 分钟前
Java 定时器crossaspeed25 分钟前
Java-SpringBoot的启动流程(八股)百锦再42 分钟前
python之路并不一马平川:带你踩坑Pandas灏瀚星空42 分钟前
基于 Python 与 GitHub,打造个人专属本地化思维导图工具全流程方案(上)是Dream呀43 分钟前
Python从0到100(一百):基于Transformer的时序数据建模与实现详解