Spring之AOP切入点表达式

1. 切入点表达式的写法

execution(访问权限符 返回值类型 方法全类名(参数表))

2. 通配符 *

  1. 匹配一个或多个字符:execution(public int cn.justweb.calculator.impl.*Impl.*(int,int))
  2. 匹配任意一个参数 :第一个是int类型,第二个参数任意类型:(匹配两个参数)
    • execution(public int cn.justweb.calculator.impl.*Impl.*(int,*))
  3. 权限修饰符位置不能使用*,不写就是全匹配

3. 通配符 ..

  1. 匹配任意多个参数,任意类型参数
  2. 匹配任意多层路径 execution(public int cn.justweb..impl.*Impl.*(int,*))

4. 记住两种写法

  1. 最精确的 execution(public int cn.justweb.calculator.impl.CalculatorImpl.add(int,int))

  2. 最模糊的 execution(* *.*(..)) 千万别写,了解一下

5. 补充

&& || !

  1. && 我们要切入的位置满足这两个表达式
    • execution() && execution()
  2. || 我们要切入的位置满足任意一个表达式
    • execution() || execution()
  3. ! 只要不是这个位置都切
    • !execution()