Spring Aop的执行顺序:纵情享受。

摘要

Spring Aop的执行顺序,让我想起了AOP中常见的注解。@Before让我想到了外部通知,@After则是后置摄像头通知,@AfterReturning是回归通知,@AfterThrowing是异常通知,而@Around则是围绕通知。在Spring4中,这些通知的执行顺序更加完善。

正文

Spring Aop的实行次序

Spring Aop的实行次序

最先追忆一下 AOP 的常见注释

  • @Before:外置通告:总体目标方式 以前实行

  • @After:后置摄像头通告:总体目标方式 以后实行

  • @AfterReturning:回到后通告:实行方式 完毕前实行

  • @AfterThrowing:出现异常通告:发现异常时实行

  • @Around:围绕通告:围绕总体目标方式 实行

Spring4 中aop一切正常次序 出现异常次序

try{
    @Before
    method.invoke(obj, args);
    @AfterReturning
}catch(){
    @AfterThrowing
}finally{
    @After
}
一切正常实行:@Before(外置通告) ====>@After(后置摄像头通告) ====>@AfterReturning(一切正常回到)
出现异常实行:@Before(外置通告) ====>@After(后置摄像头通告) ====>@AfterThrowing(方式 出现异常)

此外假如还配备有围绕通告,则围绕通告的外置解决在于@Before实行

围绕通告的后置摄像头解决也在于@After、@AfterReturning、@AfterThrowing实行

一切正常結果:

围绕外置解决
@Before外置通告
invokeMethod()
围绕通告后置摄像头解决
@After后置摄像头通告
@AfterReturning / @AfterThrowing

出现异常結果:

围绕外置解决
@Before外置通告
@After后置摄像头通告
@AfterReturning / @AfterThrowing

Spring5 中aop一切正常次序 出现异常次序

一切正常实行:@Before(外置通告) ====>@AfterReturning(一切正常回到) ====>@After(后置摄像头通告)
出现异常实行:@Before(外置通告) ====>@AfterThrowing(方式 出现异常) ====>@After(后置摄像头通告)

再加上围绕通告的一切正常实行結果

围绕外置解决
@Before外置通告
invokeMethod()
@AfterReturning / @AfterThrowing
@After后置摄像头通告
围绕通告后置摄像头解决

再加上围绕通告的出现异常实行結果

围绕外置解决
@Before外置通告
@AfterReturning / @AfterThrowing
@After
```## Spring Aop的实行次序

最先追忆一下 `AOP` 的常见注释

  @Before:外置通告:总体目标方式 以前实行

  @After:后置摄像头通告:总体目标方式 以后实行
  @AfterReturning:回到后通告:实行方式 完毕前实行
  @AfterThrowing:出现异常通告:发现异常时实行
  @Around:围绕通告:围绕总体目标方式 实行

>  Spring4 中aop一切正常次序   出现异常次序

```java
try{
    @Before
    method.invoke(obj, args);
    @AfterReturning
}catch(){
    @AfterThrowing
}finally{
    @After
}
一切正常实行:@Before(外置通告) ====>@After(后置摄像头通告) ====>@AfterReturning(一切正常回到)
出现异常实行:@Before(外置通告) ====>@After(后置摄像头通告) ====>@AfterThrowing(方式 出现异常)

此外假如还配备有围绕通告,则围绕通告的外置解决在于@Before实行

围绕通告的后置摄像头解决也在于@After、@AfterReturning、@AfterThrowing实行

一切正常結果:

围绕外置解决
@Before外置通告
invokeMethod()
围绕通告后置摄像头解决
@After后置摄像头通告
@AfterReturning / @AfterThrowing

出现异常結果:

围绕外置解决
@Before外置通告
@After后置摄像头通告
@AfterReturning / @AfterThrowing

Spring5 中aop一切正常次序 出现异常次序

一切正常实行:@Before(外置通告) ====>@AfterReturning(一切正常回到) ====>@After(后置摄像头通告)
出现异常实行:@Before(外置通告) ====>@AfterThrowing(方式 出现异常) ====>@After(后置摄像头通告)

再加上围绕通告的一切正常实行結果

围绕外置解决
@Before外置通告
invokeMethod()
@AfterReturning / @AfterThrowing
@After后置摄像头通告
围绕通告后置摄像头解决

再加上围绕通告的出现异常实行結果

围绕外置解决
@Before外置通告
@AfterReturning / @AfterThrowing
@After

关注不迷路

扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!

温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
文章版权声明 1、本网站名称:宇凡盒子
2、本站文章未经许可,禁止转载!
3、如果文章内容介绍中无特别注明,本网站压缩包解压需要密码统一是:yufanbox.com
4、本站仅供资源信息交流学习,不保证资源的可用及完整性,不提供安装使用及技术服务。点此了解
5、如果您发现本站分享的资源侵犯了您的权益,请及时通知我们,我们会在接到通知后及时处理!提交入口
0

评论0

请先

站点公告

🚀 【宇凡盒子】全网资源库转储中心

👉 注册即送VIP权限👈

👻 全站资源免费下载✅,欢迎注册!

记得 【收藏】+【关注】 谢谢!~~~

立即注册
没有账号?注册  忘记密码?

社交账号快速登录