博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[记录]内部方法之间调用AOP无效解决方法
阅读量:2400 次
发布时间:2019-05-10

本文共 462 字,大约阅读时间需要 1 分钟。

起因:

测试的时候发现@Transactional(rollbackFor = Exception.class)即便抛出了异常也不回滚

原因:

@Transactional等注解均是基于AOP代理,而方法自身内部调用不会经过AOP。

this.insert(xxx);

就是内部调用

解决:

推荐第二种,第一种修改了入口类注解,不确定会不会引发其他问题

1.

springboot入口类增加注解

@EnableAspectJAutoProxy(exposeProxy = true)

调用处获取自身代理(也可在内部注入自身)调用

((XXX(AopContext.currentProxy())).insert(xxx);

2.

@Autowired    private ApplicationContext applicationContext;	GeofenceService geofenceService = applicationContext.getBean(GeofenceService.class);

转载地址:http://qeiob.baihongyu.com/

你可能感兴趣的文章
SANS FOR572 Logstash
查看>>
OpenGL坐标系
查看>>
VS2008快捷键大全
查看>>
阿里开源限流组件 Sentinel 集群流控全解析
查看>>
Virtual的一些总结
查看>>
java中File类创建和删除功能
查看>>
linux下常用网络操作(重点)
查看>>
职场中神奇的程序员,却常常被人说“太直”,这是什么样的思维?
查看>>
Lambda函数式接口
查看>>
阿里软件SAAS分析笔记(转)
查看>>
Python实现的快速排序
查看>>
Python基础之os和数据结构
查看>>
自动化运维平台的实施计划
查看>>
《大鱼海棠》里的梦
查看>>
自动化平台的几个小计划
查看>>
推荐给你的春节观影清单,请查收
查看>>
DBAplus社群北京站沙龙归来
查看>>
最近在读的一些文章和书
查看>>
MySQL关于数据字典的一个疑问
查看>>
今天的一点杂感
查看>>