您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關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正常順序 + 異常順序
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執行順序的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。