Spring中AOP的切点表达式

117 阅读1分钟

切点表达式是配置要对哪些连接点(哪些类的哪些方法)进行通知的增强,语法如下:execution([访问修饰符]返回值类型 包名.类名.方法名(参数))

  • 访问修饰符可以省略不写;
  • 返回值类型、某一级包名、类名、方法名 可以使用 * 表示任意;
  • 包名与类名之间使用单点 . 表示该包下的类,使用双点 .. 表示该包及其子包下的类;
  • 参数列表可以使用两个点 .. 表示任意参数。

举例

  • 表示访问修饰符为public、无返回值、在com.huacai.aop包下的TargetImpl类的无参方法show execution(public void com.huacai.aop.TargetImpl.show())

  • 表示com.huacai.aop包下的TargetImpl类的任意方法 execution(* com.huacai.aop.TargetImpl.*(..))

  • 表示com.huacai.aop包下的任意类的任意方法 execution(* com.huacai.aop.*.*(..))

  • 表示com.huacai.aop包及其子包下的任意类的任意方法 execution(* com.huacai.aop..*.*(..))

  • 表示任意包中的任意类的任意方法 execution(* *..*.*(..))