Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
墨染点香10 分钟前
LeetCode Hot100【6. Z 字形变换】心情好的小球藻29 分钟前
Python应用进阶DAY9--类型注解Type Hintingldj202033 分钟前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?超龄超能程序猿34 分钟前
Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践惜.己41 分钟前
使用python读取json数据,简单的处理成元组数组风象南1 小时前
SpringBoot配置属性热更新的轻量级实现洛阳泰山1 小时前
Spring Boot 整合 Nacos 实战教程:服务注册发现与配置中心详解Y4090011 小时前
C语言转Java语言,相同与相异之处YuTaoShao1 小时前
【LeetCode 热题 100】994. 腐烂的橘子——BFS布朗克1681 小时前
java常见的jvm内存分析工具