环绕通知——Spring框架系列教程(15)

Java技术 潘老师 3年前 (2021-03-01) 1452 ℃ (0) 扫码查看
演示:

(1)还原原项目的saveUser方法,不抛异常
环绕通知——Spring框架系列教程(15)
(2)在配置文件中注释掉原先的4种通知配置,新增环绕通知配置
环绕通知——Spring框架系列教程(15)
(3)在Logger中添加环绕通知的方法
环绕通知——Spring框架系列教程(15)
(4)测试执行
环绕通知——Spring框架系列教程(15)
(5)我们会发现问题:
当我们配置了环绕通知,环绕通知里的代码执行了,但切入点方法没有执行
原因:有动态代理可知,环绕通知指的是invoke方法,并且里面有明确的切入点方法调用,二我们现在的环绕通知没有明确的切入点方法调用.
解决:
spring为我们提供了一个接口:ProceedingJoinPoint.该接口可以作为环绕通知的方法参数来使用.
在程序运行时,spring会为我们提供该接口的实现类,供我们使用
该接口中有一个方法叫proceed(),它的作用等同于method.invoke,就是明确调用业务层的核心方法(切入点方法)
环绕通知——Spring框架系列教程(15)
(6)测试
环绕通知——Spring框架系列教程(15)
(7)修改为发生异常测试
环绕通知——Spring框架系列教程(15)
环绕通知——Spring框架系列教程(15)
环绕通知——Spring框架系列教程(15)


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/2154.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】