Spring AOP一些基本概念

最近在學spring aop,要做一個spring aop的參數校驗和日誌記錄。所以將spring 的一些基本概念記錄一下。

Spring AOP是構成Spring框架的重要基石,spring AOP 構建在IOC
之上,和ioc渾然天成,統一於Spring容器之中。

AOP有特定的應用場合:適合於具有特定邏輯的應用場合,如性能檢測,訪問控制,事物管理以及日誌記錄。

AOP(Aspect Oriented Programing)面向切面編程,根據軟件重構的思想,如果多個類中出現相同的代碼,將這些相同的代碼提取到父類中,AOP通過橫向抽取機制爲這類無法通過縱向繼承體系進行抽象的重複性代碼提供瞭解決方按。

AOP術語:
1,連接點(JoinPooint):程序執行的某個特定位置,如類的開始初始化前,類的初始化後,類的某個方法調用前/後,方法拋出異常後。一個類或者一段代碼擁有一些邊界性質的特定點,這就是連接點。Spring僅支持方法的連接點,即僅能在方法調用前,方法調用後,方法拋出異常時及方法調用前後這些程序執行點織入增強;
2,切點(Pointcut):每個程序類都擁有多個連接點,在多個連接點中定位我們想要的連接點。AOP通過切點定位連接點,切點和連接點不是一對一的關係,一個切點可以匹配多個連接點。。
3,增強(Advice):增強是織入到目標類連接點上的一段程序代碼,Spring中增強除了用於描述一段程序代碼外,還擁有另一個和連接點相關的信息,執行點的方位。Spring 提供的接口都是帶方位名的:BeforeAdvice、AfterReturningAdvice,等
4,目標對象(Target):增強邏輯的織入目標類
5,引介(Introduction):引介是特殊的增強,他爲類添加一些屬性和方法。
6,織入(Weaving):將增強添加到目標類的具體鏈接點的過程。
7,代理(Proxy):
8,切面(Aspect):切面由切點和增強組成,他既包括橫切邏輯的定義,也包括連接點的定義。
總的來說:AOP的工作重心在於如何將增強應用於目標對象的連接點上,這包括第一,如何通過切點和增強定位到連接點,第二,如何在增強中編寫切面代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章