使用AOP时切点没有执行问题

因为这几天在使用切面记录日志,遇到了添加了切入点没有生效的问题。网上找了半天原因,大多是将怎么添加切入点的没能解决我的问题,不过最后发现该文章的分析,解决了我的问题故转载记录一下。

作者原文:https://blog.csdn.net/EgbertYu/article/details/78744286

spring AOP 应用在service中的注意事项:
将service中的一个方法设置为切点
然后,通过controller 调用
或者,通过org.junit 单元测试调用
不论是同步线程,还是异步线程,切面都会执行
但是,如果在本service 类中,调用这个切点方法,则切面不会执行,哪怕是异步的线程去调用(public or private or static 都不行);
所以,要使用切面,不要在本类中调用切点方法。新建一个serviceAspect类,通过当前service 调用serviceAspect的切点方法(同时将切点配置为serviceAspect 中的方法)

猜你喜欢

转载自blog.csdn.net/hbn1326317071/article/details/84928394