Spring Aop 可以匹配多个表达式
/**
* 以do开头的方法切点
*/
@Pointcut("execution(* com.abc.action.*Controller.do*(..))")
public void doPointcut(){}
/**
* 以doSelect开头的方法切点
*/
@Pointcut("execution(* com.abc.action.*Controller.doSelect*(..))")
public void doSelectPointcut(){}
/**
* <p>
* 环绕通知方法
* 拦截以do开头的方法但不包含doSelect
* @param pjp
* @return
* @throws Throwable
* </p>
*/
@Around("doPointcut() && ! doSelectPointcut()")
public Object doWriteLog(ProceedingJoinPoint pjp) throws Throwable {
//需要处理的事情
}
在多个表达式之间使用 ||,or表示 或,使用 &&,and表示 与,!表示 非.