spring aop (service通过继承)导致无法拦截子类方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring aop (service通过继承)导致无法拦截子类方法相关的知识,希望对你有一定的参考价值。
参考技术A 因为项目中使用了mybatis-plus,使得service的实现类都是通过继承来实现的。如图但是我想拦截的方法,却拦截不到,最后百度解决了,我在这里就总结一下。
1.重写要拦截的方法。
2.aop配置中指定target
3,关于target的解释。
转:https://www.cnblogs.com/bianzy/p/6610974.html
转:http://blog.csdn.net/sunlihuo/article/details/52701548
主要关键点如下:
spring入门-AOP 面向切面编程
AOP 面向切面编程
在日常开发中最后将业务逻辑定义在一个专门的service包下,而实现定义在service包下的impl包中,
服务接口以IXXXService形式,而服务实现就是XXXService,这就是规约设计
步骤:
1.E:\\Users\\WorkSpaces\\KmwalletApp\\spring\\aop\\test\\HelloWorldService.java 继承(implements)xx接口
2.E:\\Users\\WorkSpaces\\KmwalletApp\\spring\\aop\\test\\IHelloWorldService.java 定义接口方法
3.HelloWorldService 实现接口方法
E:\\Users\\WorkSpaces\\KmwalletApp\\spring\\aop\\test\\HelloWorldAspect.java定义切面
E:\\Users\\WorkSpaces\\KmwalletApp\\spring\\aop\\test\\AopTest.java 测试运行
坑:
1.xml放置位置
关键词
ClassPathXmlApplicationContext
2.缺少jar包
Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
你缺少了 aspectj.jar啊!
看异常很清楚了。
好了,过程就是这样,剩下的就是理解了
以上是关于spring aop (service通过继承)导致无法拦截子类方法的主要内容,如果未能解决你的问题,请参考以下文章