spring的aop advice(可以理解為切面上的邏輯)用注解來實現有五種實現方式:
@Before(execution) 在方法執行前攔
@AfterReturning(execution)在方法正常return結束后攔截
@AfterThrowing(execution) 在方法拋出異常時攔截
@After(execution) 在方法結束后攔截,無論正常結束還是異常結束
@Around(execution)唯一可以使用ProceedingJoinPoint參數來控制流程的advice,在方法執行前攔截,可以在切面邏輯中手動釋放攔截,且可以在其后加入邏輯代碼,該代碼段會在方法執行后執行.
詳情:https://blog.csdn.net/qq915697213/article/details/70170703
這幾種方式如果同時存在 , 會有一個先后順序,下邊測試后可以從打印結果中很明顯地看到,但是一般情況下,盡量避免用這種先后順序的方式來決定切面邏輯的設計,如果切面邏輯很復雜,可以用@Around整合在一起.
---------------------
作者:貧道四十七
來源:CSDN
原文:https://blog.csdn.net/qq915697213/article/details/70170703
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!