aop切面表达式条件"非"

aop在注解方式下的条件"非"

  1. 方法a表示为 a.b.c 包下的所有public方法
  2. 方法b表示为 a.b.c 包下的所有public切方法名为index的方法
  3. 方法c表示为 a.b.c 包下的所有public且方法名以public开头的方法
@Pointcut("execution(public * a.b.c..*(..))")
public void a() {

}
	
@Pointcut("execution(public * a.b.c..index(..))")
public void b() {

}
	
@Pointcut("execution(public * a.b.c..public*(..))")
public void c() {

}

以@Around为例

条件2与条件3合并

@Around("b()||c()")

 条件1排除条件2

@Around("(a()&&!b())")

条件1排除条件2和条件3

@Around("(a()&&!(b()||c()))")

 

你可能感兴趣的:(aop切面表达式条件"非")