Spring實戰 9 AOP環繞通知

2021-09-08 08:32:59 字數 1012 閱讀 6297

假如有這麼乙個場景,需要統計某個方法執行的時間,如何做呢?

典型的會想到在方法執行前記錄時間,方法執行後再次記錄,得出執行的時間。

如果採用spring的aop,僅僅使用前置和後置方法是無法做到的,因為他們無法共享變數。這樣通過環繞通知,就可以快捷的實現。

首先在切面通知類中宣告環繞通知類:

public

void

watchperformance(proceedingjoinpoint joinpoint)

catch

(throwable e)

}

在bean.xml配置檔案中配置aop:around,鎖定方法:

<

aop:around

pointcut-ref

="performance"

method

="watchperformance"

/>

這樣執行的結果如下:

the audience is taking their seats.

the audience is turning off their cellphones

begin!

instrumentalist age:25

playing jingle bells:toot toot toot

clap clap clap

end! performance took 95 milliseconds

因此可以看出aop執行的過程如下:

before()

around()

執行方法()

after/throw()

around()

posted @

2015-02-01 14:49

xingoo 閱讀(

...)

編輯收藏

Spring實戰 9 AOP環繞通知

假如有這麼乙個場景,需要統計某個方法執行的時間,如何做呢?典型的會想到在方法執行前記錄時間,方法執行後再次記錄,得出執行的時間。如果採用spring的aop,僅僅使用前置和後置方法是無法做到的,因為他們無法共享變數。這樣通過環繞通知,就可以快捷的實現。首先在切面通知類中宣告環繞通知類 public ...

Sping 梳理9 AOP簡介

aop可以說是oop object oriented programming,物件導向程式設計 的補充和完善。oop引入封裝 繼承 多型等概念來建立一種物件層次結構,用於模擬公共行為的乙個集合。不過oop允許開發者定義縱向的 關係,但並不適合定義橫向的關係,例如日誌功能。日誌 往往橫向地散布在所有物...

spring(十) aop環繞通知

假如有這麼乙個場景,需要統計某個方法執行的時間,如何做呢?典型的會想到在方法執行前記錄時間,方法執行後再次記錄,得出執行的時間。如果採用spring的aop,僅僅使用前置和後置方法是無法做到的,因為他們無法共享變數。這樣通過環繞通知,就可以快捷的實現。首先在切面通知類中宣告環繞通知類 public ...