通过实例解析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. 《CSS3实战》笔记--渐变设计(一)2. python实现MySQL指定表增量同步数据到clickhouse的脚本3. Springboot+WebSocket实现一对一聊天和公告的示例代码4. 如何在JavaScript中使用localStorage详情5. JavaScript实现移动端带transition动画的轮播效果6. 使用vue打包进行云服务器上传的问题7. 给JavaScript初学者的23条最佳实践8. PHP Ajax跨域问题解决方案代码实例9. 浅析vue cli3 封装Svgicon组件正确姿势(推荐)10. XML基本概念XPath、XSLT与XQuery函数介绍
