Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
TPBoreas2 小时前
Jenkins 改完端口号启动不起来了金斗潼关2 小时前
SpringCloud GateWay网关TE-茶叶蛋2 小时前
Vuerouter 的底层实现原理云闲不收3 小时前
设计模式原则秋名RG3 小时前
深入解析建造者模式(Builder Pattern)——以Java实现复杂对象构建的艺术eternal__day3 小时前
Spring Boot 实现验证码生成与校验:从零开始构建安全登录系统技术求索者4 小时前
c++学习陈大爷(有低保)4 小时前
swagger3融入springboot山猪打不过家猪4 小时前
(二)毛子整洁架构(CQRS/Dapper/领域事件处理器/垂直切片)方博士AI机器人7 小时前
Python 3.x 内置装饰器 (4) - @dataclass