AspectJ通配符:
1、× 一个元素
2、.. 多个元素
3、 +类的类型,必须跟在类后面。
AspectJ切点函数:
execution(修饰符 返回类型 方法名(参数类型)异常类型)
execution(* *(..)) 任意一个返回类型,任意一个方法名(多个参数)
execution(public * *(..)) Public修饰符 任意一个返回类型,任意一个方法名(多个参数)
方法签名
例子1:
execution(* *Get*(..)) userGet(..) testGet(..) demoGetList(..)
类定义:
execution(* com.longzhun.UserManager.*(..)) com.longzhun包下的UserManager类或接口中的所有方法都会被拦截
execution(* com.longzhun.UserManager+.*(..)) com.longzhun包下的UserManager类或接口中的所有方法以及子类,实现类的所有方法都会被拦截
包:
execution(* com.longzhun.*(..)) com.longzhun包下的所有方法都会被拦截
execution(* com.longzhun..*(..)) com.longzhun包下以及子包下的所有方法都会被拦截 如:com.longzhun.manager
execution(* com.longzhun..*.*Service.save*(..)) com.longzhun包下以及子包下以Service结尾的所有类或接口中的以save开始的所有方法都会被拦截
UserService DemoService save* saveUser saveDemo
参数:
execution(* com.longzhun.save*(String))
execution(* com.longzhun.save*(String,*))
execution(* com.longzhun.save*(String,..))
execution(* com.longzhun.save*(Object+))
execution(* com.longzhun.save*(Object)) *
execution(* com.longzhun.save*(java.util.List))
java.lang.*