1. 程式人生 > >AOP簡介和實現

AOP簡介和實現

 

概念

AOP面向切面程式設計是OOP面向物件程式設計的一種補充。通常用作事務處理,日誌,異常,許可權操作。採用的是橫向抽取機制,將分散在各個方法中的重複程式碼提取出來,然後在程式編譯或執行時,再進行按需載入。從而使開發人員專注於核心業務,而不必過多的關心其他業務邏輯的實現。主流的框架有兩個,一個是Spring AOP(採用的是純java實現,在執行時通過代理的方式向目標類植入增強的程式碼),另一個是Aspect J(基於java的AO框架,在編譯時期提供橫向程式碼切入)

動態代理開發:

JDK動態代理:使用動態代理的物件必須實現一個或者是多個介面

CGLB代理

:採用的是位元組碼技術

基於代理類

Aspect J開發:(推薦使用基於註解的宣告式

基於XML的宣告式:在<aop:config>中配置切面,切入點和增強。若切入點是配置在切面類,表示該切入點只對當前切面有效。若是配置在<aop:config>下表示該切入點是全域性切入點,可被多個切面共享。

基於註解的宣告式