通过切点来选择连接点
切点用于准确定位应该在什么地方应用切面的通知。通知和切点是切面的最基本元素。
在 Spring AOP 中,要使用 AspectJ 的切点表达式语言来定义切点, Spring 仅支持 AspectJ 切点指示器(pointcut designator)的一个子集:
AspectJ 指示器
描 述
arg()
限制连接点匹配参数为指定类型的执行方法
@args()
限制连接点匹配参数由指定注解标注的执行方法
execution()
用于匹配是连接点的执行方法
this()
限制连接点匹配 AOP 代理的 bean 引用为指定类型的类
target
限制连接点匹配目标对象为指定类型的类
@target()
限制连接点匹配特定的执行对象,这些对象对应的类要具有指定类型的注解
within()
限制连接点匹配指定的类型
@within()
限制连接点匹配指定注解所标注的类型(当使用Spring AOP 时,方法定义在由指定的注解所标注的类里)
@annotation
限定匹配带有指定注解的连接点
在 Spring 中尝试使用 AspectJ 其他指示器时,将会抛出 IllegalArgumentException 异常。
Last updated