aop中execution 表达式

时间:2022-09-17 22:09:33 类型:JAVA
字号:    

  切入点表达式:

  整个表达式可以分为五个部分:

  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

  类:当前包下的所有类

  方法:所有类中的所有方法

  参数:任意


<