Spring中aop切点表达式

/**
  * 切入点表达式:
  * 语法:
  *     execution(方法全部签名)
  * eg:execution(public int com.pan.impl.MathCalculator.*(int, int))
  * 意思:MathCalculator的所有方法,而且返回值必须是int,访问权限必须public的这些,参数列表必须是两个整数
  *
  * eg:execution(public * com.pan.impl.*.*(int,..))
  * 意思:任意返回值,任意类的任意方法,但是参数表必第一个参数的类型是int,以后参数类型不限,个数不限
  * 可以引入通配符:
  *  1)、*:使用位置:可以用在包名、类名、方法名上、返回值
  *  2)、..:使用位置:参数位置
  *  3)、如果访问权限控制想要匹配多个,直接不写就行。但是必不会支持所有的权限控制,只支持public
  *
  * 表达式
  * 1)、最清楚的:
  *  execution(public int com.atguigu.impl.MathCalculator.add(int, int))
  * 2)、最模糊的
  *  execution(* *.*(..))
  * 3)、好玩的
  * 所有以add开头的方法
  * execution(public int com.atguigu.impl.MathCalculator.add*(int, int))
  */

  @Before (value= "execution(* com.pan.impl.*.*(int,..))" )
     public   void   logStart(){
        System. out .println( "方法开始..." );
    }

你可能感兴趣的:(Spring中aop切点表达式)