1. 程式人生 > >[email protected]詳細用法

[email protected]詳細用法

@AspectJ的詳細用法
在Spring AOP中目前只有執行方法這一個連線點,Spring AOP支援的AspectJ切入點指示符如下:

一些常見的切入點的例子
execution(public * * (. .)) 任意公共方法被執行時,執行切入點函式。
execution( * set* (. .)) 任何以一個“set”開始的方法被執行時,執行切入點函式。
execution( * com.demo.service.AccountService.* (. .)) 當介面AccountService 中的任意方法被執行時,執行切入點函式。
execution( * com.demo.service..

(. .)) 當service 包中的任意方法被執行時,執行切入點函式。 within(com.demo.service.) 在service 包裡的任意連線點。 within(com.demo.service. .) 在service 包或子包的任意連線點。
this(com.demo.service.AccountService) 實現了AccountService 介面的代理物件的任意連線點。
target(com.demo.service.AccountService) 實現了AccountService 介面的目標物件的任意連線點。
args(java.io.Serializable) 任何一個只接受一個引數,且在執行時傳入引數實現了 Serializable 介面的連線點
增強的方式:
@Before:方法前執行
@AfterReturning:執行方法後執行
@AfterThrowing:Throw後執行
@After:無論方法以何種方式結束,都會執行(類似於finally)
@Around:環繞執行