通过实例解析spring环绕通知原理及用法
环绕通知:
它是spring框架为我们提供的一种可以在代码中手动控制增强部分什么时候执行的方式。
问题:
当我们配置了环绕通知之后,增强的代码执行了,业务核心方法没有执行。
分析:
通过动态代理我们知道在invoke方法中,有明确调用业务核心方法:method.invoke()。
我们配置的环绕通知中,没有明确调用业务核心方法。
解决:
spring框架为我们提供了一个接口:ProceedingJoinPoint,它可以作为环绕通知的方法参数在环绕通知执行时,spring框架会为我们提供该接口的实现类对象,我们直接使用就行。该接口中有一个方法proceed(),此方法就相当于method.invoke()
代码:
/** * 环绕通知 */ public void aroundInform(ProceedingJoinPoint pjp){ System.out.println('前置通知'); try { pjp.proceed(); System.out.println('后置通知'); } catch (Throwable throwable) { System.out.println('异常通知'); }finally { System.out.println('最终通知'); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. python+excel接口自动化获取token并作为请求参数进行传参操作2. docker /var/lib/docker/aufs/mnt 目录清理方法3. Vuex localStorage的具体使用4. python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例5. Notepad++如何安装Python插件?Notepad++插件怎么装?6. 详解JAVA设计模式之代理模式7. 6个常见的 PHP 安全性攻击实例和阻止方法8. 《CSS3实战》笔记--渐变设计(三)9. Python matplotlib画图时图例说明(legend)放到图像外侧详解10. ASP.NET泛型三之使用协变和逆变实现类型转换

网公网安备