切入点表达式语法示例
execution(访问权限 方法返回值 方法声明(参数)
异常)
其中红色部分是必须的参数
通配符:
*:表示任意数量的任意字符在这里插入代码片
… :应用在包名后表示多级目录
应用在方法参数中表示任意多个参数
+:应用在类名后表示当前类及其子类
应用在接口后表示当前接口及其实现类
示例:
execution(public * *(..))
public 表示所有public修饰的
* 表示任意的返回值
*(…) 表示任意名称的方法以及任意长度的参数
综上:表示切点为所有public修饰的方法
execution(* set*(..))
* 表示任意的返回值
set*(…) 表示任意以set开头的方法
综上:表示切点为所有以set开头的方法
execution(* com.service.*.*(..))
* 表示任意的返回值
com.service.*.*(…) 表示com.service包里的任意类的所有方法(只包括直接在该包路径下的)
综上:表示com.service包里的任意类的所有方法
execution(* com.service..*.*(..))
* 表示任意的返回值
com.service… 表示com.service包及其子包
综上:表示com.service包及其子包下所有的方法
execution(* *..service.*.*(..))
* 表示任意的返回值
*…service表示任意多级包下的service包
综上:表示项目中所有service包下的所有方法