原文鏈接:http://jinnianshilongnian.iteye.com/blog/1415606 或者 點擊這裏
僅轉載核心指示符,指示符的具體用法請參見原文鏈接。
6.5.1 Spring AOP支持的AspectJ切入點指示符
切入點指示符用來指示切入點表達式目的,,在Spring AOP中目前只有執行方法這一個連接點,Spring AOP支持的AspectJ切入點指示符如下:
execution:用於匹配方法執行的連接點;
within:用於匹配指定類型內的方法執行;
this:用於匹配當前AOP代理對象類型的執行方法;注意是AOP代理對象的類型匹配,這樣就可能包括引入接口也類型匹配;
target:用於匹配當前目標對象類型的執行方法;注意是目標對象的類型匹配,這樣就不包括引入接口也類型匹配;
args:用於匹配當前執行的方法傳入的參數爲指定類型的執行方法;
@within:用於匹配所以持有指定註解類型內的方法;
@target:用於匹配當前目標對象類型的執行方法,其中目標對象持有指定的註解;
@args:用於匹配當前執行的方法傳入的參數持有指定註解的執行;
@annotation:用於匹配當前執行方法持有指定註解的方法;
bean:Spring AOP擴展的,AspectJ沒有對於指示符,用於匹配特定名稱的Bean對象的執行方法;
reference pointcut:表示引用其他命名切入點,只有@ApectJ風格支持,Schema風格不支持。
AspectJ切入點支持的切入點指示符還有: call、get、set、preinitialization、staticinitialization、initialization、handler、adviceexecution、withincode、cflow、cflowbelow、if、@this、@withincode;但Spring AOP目前不支持這些指示符,使用這些指示符將拋出IllegalArgumentException異常。這些指示符Spring AOP可能會在以後進行擴展。