切点表达式是配置要对哪些连接点(哪些类的哪些方法)进行通知的增强,语法如下: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(* *..*.*(..))