这篇文章主要介绍“Spring AOP怎么使用切入点创建通知”,在日常操作中,相信很多人在Spri免费云主机域名ng AOP怎么使用切入点创建通知问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring AOP怎么使用切入点创建通知”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
通过之前的例子中,我们可以创建ProxyFactory的方式来创建通知,然后获取目标类中的方法。通过不同类型的通知,能对这些方法做不同的事。但是,这种方式会对整个类中的所有方法都有作用,但是很多时间我们只想对这个类中的部分方法进行通知处理,那就要使用切入点来精确地控制到特定的方法
也就是说,我们的切入点就是用来确定一个类中的方法(精确到方法),类似于定义一些规则一样,来找到和这个规则相匹配的类,知道这一点,往下看就容易多了。
在Spring中的要创建切入点时,就要实现Pointcut类。
以上两个方法返回的类的源码如下:
ClassFilter
MethodMatcher
综上,切入点分为两种,动态切入点和静态切入点,动态切入点要每次检查方法的实参是不是满足要求,这会产生额外的开支。如果可以,如果可以,尽可能使用静态切入点。
创建一个类,两个方法。我们的目的就是只在walk()方法中创建环绕通知,打印一句,”I am a cute cat.”
创建切入点
在上边这个方法中,当然,我们可以不用实现getClassFilter()方法,因为这个方法已经被上级实现过了,我们就可以在matches方法中直接去判断这个类是不是Cat.class
通知类(这个和上一次是一样的,创建一个环绕通知)
当然,我们在这里也是可以判断这个方法名和类名的,为什么还要用切入点呢。可是这并不靠谱,我们中需要在这里实现我们的逻辑代码,而通过切入点来控制哪个类,哪个方法要被通知,这样更灵活。
测试方法
运行结果肯定就是我们想的那样
这个和上边的静态切入点是一样的,只不过是让传入方法的参数满足一定要求时,才会执行通知。由于篇幅原因,就不写了,在本文最后下载代码就能看懂。
目标类和通知类还是之前的Cat类,之前的切入点的实现类不用写,因为这个类已经做了默认实现,感兴趣的可以看下它的源码,很简单的,就是匹配类名,和我们刚才创建的静态切入点差不多。
只写测试类,其他的都和上边一样
使用AspectJ时要加入相关依赖
这个execution表达式的意思是:任何以walk开头的,具有任何参数和任何返回值的方法
首先自定义一个注解,如果不是很懂,参考Java中自定义注解类,并加以运用
然后在目标方法上添加这个注解(要被通知的类)
然后在main方法中指定这个注解名:到此,关于“Spring AOP怎么使用切入点创建通知”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!
这篇文章主要介绍“停车小程序车牌键盘如何开发”,在日常操作中,相信很多人在停车小程序车牌键盘如何开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”停车小程序车牌键盘如何开发”的疑惑有所帮助!接下来,请跟免费云主机域名着小编一起来…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。