Spring AOP的概念及具體配置

2021-09-11 07:20:43 字數 1312 閱讀 3500

一.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採取橫向抽取機制,替代了傳統縱向繼承體系重複性 在程式開發中主要用來解決一些系統層...