假如有這麼乙個場景,需要統計某個方法執行的時間,如何做呢?首先在切面通知類中宣告環繞通知類:典型的會想到在方法執行前記錄時間,方法執行後再次記錄,得出執行的時間。
如果採用spring的aop,僅僅使用前置和後置方法是無法做到的,因為他們無法共享變數。這樣通過環繞通知,就可以快捷的實現。
publicvoid
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()
Spring實戰 9 AOP環繞通知
假如有這麼乙個場景,需要統計某個方法執行的時間,如何做呢?典型的會想到在方法執行前記錄時間,方法執行後再次記錄,得出執行的時間。如果採用spring的aop,僅僅使用前置和後置方法是無法做到的,因為他們無法共享變數。這樣通過環繞通知,就可以快捷的實現。首先在切面通知類中宣告環繞通知類 public ...
Sping 梳理9 AOP簡介
aop可以說是oop object oriented programming,物件導向程式設計 的補充和完善。oop引入封裝 繼承 多型等概念來建立一種物件層次結構,用於模擬公共行為的乙個集合。不過oop允許開發者定義縱向的 關係,但並不適合定義橫向的關係,例如日誌功能。日誌 往往橫向地散布在所有物...
spring(十) aop環繞通知
假如有這麼乙個場景,需要統計某個方法執行的時間,如何做呢?典型的會想到在方法執行前記錄時間,方法執行後再次記錄,得出執行的時間。如果採用spring的aop,僅僅使用前置和後置方法是無法做到的,因為他們無法共享變數。這樣通過環繞通知,就可以快捷的實現。首先在切面通知類中宣告環繞通知類 public ...