Spring AOP 學習筆記
Spring AOP 學習筆記通知(Advice):橫切操作時具體的操作。
切入點(Pointcut):描述什么時候需要進行橫切操作,即在哪些地方需要加入通知,但是切入點不關心具體的通知是什么。
通知者(Advisor):由于通知者是通過切入點來創建的(切入點作為創建一個通知者實例時的參數),切入點可以對目標類和目標方法進行詳細的描述,所以通知者告訴代理哪些類的哪些方法需要進行橫切操作,從而對需要實現橫切的方法進行靈活的定制。我把通知者理解為切入點和通知的綁定(通知作為創建通知者實例時的另一個參數),它描述了哪些類的哪些方法需要進行哪些橫切操作(即哪個通知)。
再說說代理,代理的作用就是透明的為我們提供獲得了通知的目標類(具體的使用方法看一下例子就明白了,非常簡單)。這個目標類可以是我們自己寫的任何類或者其他第三方類。我們在調用通過代理得到的目標類中的方法時就會觸發某個通知,從而完成橫切操作。
最后是我總結的實現橫切的一般步驟
簡單的切入:
1,創建某個通知的實例(spring提供五種通知)
2,創建代理的的實例
3,將通知加入代理
4,通過代理獲取目標類實例
5,調用目標類的方法。
可對需要橫切的方法進行具體定制的切入:
1,創建切入點實例(Spring提供了七種可對目標類和目標方法進行定制的切入點實現)
2,通過切入點和通知創建通知者實例
3,將通知者加入代理
4,通過代理獲取目標類實例
5,調用目標類的方法。