AspectJ的切点表达式函数分类
Spring支持9个@AspectJ切点表达式函数,它们用不同的方式描述目标类的连接点,根据描述对象的不同,可以大致分为四种类型:
方法切点函数:通过描述目标类方法信息定义连接点;
方法入参切点函数:通过描述目标类方法入参信息定义连接点;
目标类切点函数:通过秒数目标类类型信息定义连接点;
代理类切点函数:通过描述目标类的代理类的信息定义连接点。
函数入参中使用通配符
@AspectJ支持3种通配符,如下:
* 匹配任意字符,但它只能匹配上下文中一个元素;
.. 匹配任意字符,可以匹配上下文多个元素,但在表示类时,必须和*联合使用,表示入参时单独使用。
+ 按类型匹配指定类的所有类,必须跟在类名后面,如:com.zheng.Car+
@AspectJ函数按照是否支持通配符及支持的程度,可以分为以下三类:
支持所有通配符:execution()、within()。
仅支持+通配符:args()、this()、target()。
不支持通配符:@args、@within()、@target、@annotati