一.aop:aspect oriented programming 面向切面程式設計
實現的功能:動態的增強乙個方法(先攔截該方法,再增強),可以在方法執行的各個階段加入一些另外的方法來增強原有的方法。
二.概念:
1.橫切關注點:要動態增強的功能就是關注點,就是增強的**所在的方法
2.連線點:類中的方法,欄位等都可被稱為連線點。連線點都有可能被動態增強,即可以被切斷,變成切點
3.切入點:要被攔截的方法,具體要被增強的連線點
4.切面:切入點+通知+增強
5.通知:往被攔截的方法中增強的**的執行時機
前置通知:在方法執行前執行
後置通知:在方法執行後執行
異常通知:在執行過程中,如果丟擲異常後執行
返回通知:在後置之前執行
環繞通知:在方法執行前和執行後執行
6.目標物件:增強**的所在類
7.織入:將切面應用到目標物件的過程
三.體現在spring中的具體配置:
切面
每增加乙個目標物件,就要多乙個 aop:config aop配置
四.註解的spring aop
目標物件類:
@aspect //目標物件類上加入切面註解
public class aspectaop
//配置前置通知,裡面的value是上面的切入點註解對應的pointcut方法名,表示這個前置通知作用與pointcut方法上的註解中的切入點
@before("pointcut()")
public void dobefore()
//返回通知
@afterreturning("pointcut()")
public void doafterreturning()
//後置通知
@after("pointcut()")
public void doafter()
//異常通知
@afterthrowing("pointcut()")
public void doafterthrowing()
//環繞通知
@around("pointcut()")
public object doaround(proceedingjoinpoint pjp) throws throwable
}
五.關於通知的五種型別
try
catche(exception e)
finally
本文參考: SpringAOP概念及其使用
aop aspect oriented programming 面向切面程式設計 通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的延續,是軟體開發中的乙個熱點,也是spring框架中的乙個重要內容,是函式式程式設計的一種衍生范型。利用aop可以對業務邏輯的各個部分進行隔...
Spring AOP的相關概念
aop aspect orientedprogramming,面向切面程式設計 可以說是oop object oriented programing,物件導向程式設計 的補充和完善。oop引入封裝 繼承和多型性等概念來建立一種物件層次結構,用以模擬公共行為的乙個集合。當我們需要為分散的物件引入公共行...
Spring AOP相關概念
aop面向切面程式設計 aop aspect oriented programming 即面向切面程式設計,可以說是oop object oriented programming,物件導向程式設計 的補充和完善。aop採取橫向抽取機制,替代了傳統縱向繼承體系重複性 在程式開發中主要用來解決一些系統層...