1. 程式人生 > >spring中面向切面編程(AOP)的個人理解

spring中面向切面編程(AOP)的個人理解

.com throw logs ima 正則表達式 正則 ring 菜刀 整合

面向切面編程AOP,是spring的一大特點

技術分享圖片

Aspect切面:封裝共性功能的(增強功能的)類

Advice通過:切面類中封裝的增強功能的方法。

PointCut:切入點,是一個集合的概念,該集合的表達使用一個正則表達式表達

所有核心業務對象的所有方法的前後(事務處理AOP典型的應用)

JoinPoint:連接點,程序中需要加入advice的地方,而且正在執行的ponitCut

織入(Weaving):將aspect和核心業務對象,進行整合的過程。

通過特定接口實現AOp

Aop通知的類型:

Before:前置通知

After:後置通知

Around:環繞通知

Throwing:異常通知

下面具一個生活中常見的例子:切西瓜=面向切面編程AOP

切西瓜先要有一把刀,而這把刀就好比如編寫好需要切入的各種方法

技術分享圖片

在配置文件中配置好相應的切入點

技術分享圖片

技術分享圖片

然後,切下去=執行程序,程序執行的時候菜刀(切面)就成西瓜(對象)的一部分,被一塊執行了。

用最簡單的一句話總結就是,將service層切開兩半,添加日誌和事務提交.

spring中面向切面編程(AOP)的個人理解