切入点表达式:
整个表达式可以分为五个部分:
execution(* 包名.*.*(..))
1、execution(): 表达式主体。
2、第一个*号:方法返回类型, *号表示所有的类型。
3、包名:表示需要拦截的包名。
4、第二个*号:表示类名,*号表示所有的类。
5、*(..):最后这个星号表示方法名,*号表示所有的方法,后面( )里面表示方法的参数,两个句点表示任何参数
书写接口实现方法:UserServiceImpl
方法类型:add(); query(); add(String name); add(User user); add(String name,Integer age);
execution(* service.UserServiceImpl.add(..)) //执行add()方法
execution(* service.UserServiceImpl.add(String)) //执行add(String name)方法
execution(* service.UserServiceImpl.add(com.baizhi.entity.User)) //执行add(User user)方法
execution(* service.UserServiceImpl.add(String , Integer)) //执行add(String name,Interger age)方法
execution表达式的一般用法:
execution(* service.UserServiceImpl.*(java.util.List))
返回值:任意
包:service
类:UserServiceImpl
方法:任意
参数:必须是List集合
execution(* service.UserServiceImpl.add*(..)) 重点
返回值:任意
包:service
类:UserServiceImpl
方法:以add关键字开头的方法
参数:任意
execution(* service.UserServiceImpl.*.*(..)) 重点
返回值:任意
包:service
类:当前包下的所有类
方法:所有类中的所有方法
参数:任意