Spring中的事务说明,spring的事务需要通过代理类来调用才会生效,因为代理类是Bean在初始化的时候由
Spring来管理,这个过程会读取每个方法上的注解,完成方法级别Interceper的注册,只有通过代理类进行调用的时候注解对应的切面逻辑才会执行
比如@Transaction注解,这个过程会根据注解事务的传播类型创建事务管理器,所以在使用事务注解的时候尽可能避免内部调用需要使用事务的方法
如果一定要在内部调用,需要再springBoot服务的入口类上增加注解开启暴露AOP,这样Spring会将代理类绑定到切面上下文中,内部方法调用的方法
调用方式则需要采用如下写法:
UserService userService = (UserService)AopContext.currentProxy();
调用内不方法
userService.saveUser1(user1);
Spring事务管理说明
8972212422025-02-19 10:33
相关推荐
Tony Bai2 小时前
高并发后端:坚守 Go,还是拥抱 Rust?wjs20242 小时前
Swift 类型转换没有bug.的程序员2 小时前
服务安全:内部服务如何防止“裸奔”?一线大码2 小时前
SpringBoot 3 和 4 的版本新特性和升级要点秃了也弱了。2 小时前
python实现定时任务:schedule库、APScheduler库weixin_440730503 小时前
java数组整理笔记weixin_425023003 小时前
Spring Boot 实用核心技巧汇总:日期格式化、线程管控、MCP服务、AOP进阶等一线大码3 小时前
Java 8-25 各个版本新特性总结Thera7773 小时前
状态机(State Machine)详解:原理、优缺点与 C++ 实战示例2501_906150563 小时前
私有部署问卷系统操作实战记录-DWSurvey