8.4.5 基于注解的 零配置 方式 10. 组合切入点表达式

8.4.5 基于注解的 零配置 方式 10. 组合切入点表达式

Spring支持使用如下三个逻辑运算符来组合切入点表达式。

逻辑运算符 描述
&& 要求连接点同时匹配两个切入点表达式。
|| 只要连接点匹配任意一个切入点表达式
! 要求连接点不匹配指定的切入点表达式。

回忆前面定义切入点表达式时使用了如下片段:

1
pointcut="execution(* org.crazyit.app.service.impl.*.*(..))&&args(food,time)"

上面pointcut属性指定的切入点表达式需要匹配如下两个条件。

  1. 匹配org.crazyit.app.service.impl包下任意类中任意方法的执行。
  2. 被匹配的方法的第一个参数类型必须是food的类型,第二个参数类型必须是time的类型(food和time的类型由增强处理方法来决定)

实际上,上面的pointcut切入点表达式由两个表达式组成,而且使用&&来组合这两个表达式,所以要求同时满足这两个切入点表达式的要求。