AOP@Before,@After,@AfterReturning,@AfterThrowing执行顺序

根据需要在切入点不同位置的切入内容:

使用@Before在切入点开始处切入内容

使用@After在切入点结尾处切入内容

使用@AfterReturning在切入点return内容之后切入内容(可以用来对处理返回值做一些加工处理)

使用@Around在切入点前后切入内容,并自己控制何时执行切入点自身的内容

使用@AfterThrowing用来处理当切入内容部分抛出异常之后的处理逻辑

列举一个对于程序员更加直观的代码示例:

复制代码
try{
      try{
           doBefore();//对应@Before注解的方法切面逻辑
           method.invoke();
       }finally{
           doAfter();//对应@After注解的方法切面逻辑
       }
       doAfterReturning();//对应@AfterReturning注解的方法切面逻辑
   }catch(Exception e){
        doAfterThrowing();//对应@AfterThrowing注解的方法切面逻辑
   }
复制代码

 


原文链接:https://blog.csdn.net/wujian_csdn_csdn/article/details/113243094



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   君莫笑我十年游  阅读(758)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-10-10 c# TargetInvocationException 异常原因:缺少dll依赖
2020-10-10 mysql建数据库的字符集与排序规则说明
2019-10-10 pymysql基本操作
2019-10-10 gitpython 操作
2019-10-10 CentOS 7编译安装Python3.7.X
点击右上角即可分享
微信分享提示