美文网首页
springAOP——通知

springAOP——通知

作者: Java联盟 | 来源:发表于2017-12-18 23:13 被阅读0次

好的各位小伙伴

上次认识了 AOP

今天来认识 AOP 的通知

Spring 的 AOP 实现

先来搭建 springAOP 开发环境,需要引入jar包:aopalliance-1.0.jar、spring-aop-4.2.1.RELEASE.jar



现在来写我们的代码了!先来看一下我们的 studentService 类,


前置通知


首先来实现我们的前置通知类,实现 MethodBeforeAdvice 


注册需要代理的类,注册前置通知的类,接着注册代理生成器,然后把目标类,目标类接口,通知注入代理生成器!

测试一下!

预测测试结果:会将我们前置通知的内容打印在目标方法内容的前面


这样我们的前置通知就做好了!后面的几个通知在流程上和我们的前置通知是一样

后置通知  

后置通知实现 AfterReturningAdvice 


注册通知,注册代理和注入通知


测试一下!

预期结果:将后置通知打印的内容出现在目标方法内容的后面


环绕通知


实现 MethodInterceptor


注册通知,注册代理和注入通知。


测试一下!

预期结果:环绕通知的前面执行部分 ,在方法执行之前打印;环绕通知的后面执行部分 ,在方法执行之后打印。


异常通知


实现 ThrowsAdvice

注册通知,注册代理和注入通知


测试一下

预测结果:在程序出现异常的时候就会出现异常通知!


通知的注意点

在代理类生成器的配置里面 配置接口的<property name = "interfaces" value="接口" >默认可以省略

后置通知是在目标方法执行后才执行 ,可以得到目标方法返回的值 ,但不能改变返回值。

环绕通知有在目标方法执行前的代码,也有在目标方法执行后的代码,可以得到目标方法的值,可以改变这个返回值! 

好的今天的分享就到这里了

小伙伴们再见了

相关文章

网友评论

      本文标题:springAOP——通知

      本文链接:https://www.haomeiwen.com/subject/bkpvwxtx.html