spring 同类方法调用事务失效解决办法
可以使用AopContext.currentProxy()获取到当前类的代理对象,然后再用代理对象进行调用本类中的方法
如下 f1 和f2 属于同一个类
public voidf1() {
((本类名)AopContext.currentProxy()).f2();
}
@Transactional
public f2() {
}
AopContext.currentProxy()方法的使用场景还包括:
- 在同一类的非切面方法中获取代理对象,确保切面可以正常生效。
- 在不同类中,非事务方法调用事务方法时,确保事务生效。
- 在同一个类中,事务方法调用非事务方法时,事务仍然具有传播性,确保事务生效。
原文地址:https://blog.csdn.net/weixin_42710740/article/details/140529453
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!