8.4.5 基于注解的 零配置 方式 10. 组合切入点表达式
Spring支持使用如下三个逻辑运算符来组合切入点表达式。
| 逻辑运算符 | 描述 |
|---|---|
&& |
要求连接点同时匹配两个切入点表达式。 |
|| |
只要连接点匹配任意一个切入点表达式 |
! |
要求连接点不匹配指定的切入点表达式。 |
回忆前面定义切入点表达式时使用了如下片段:
1 | pointcut="execution(* org.crazyit.app.service.impl.*.*(..))&&args(food,time)" |
上面pointcut属性指定的切入点表达式需要匹配如下两个条件。
- 匹配
org.crazyit.app.service.impl包下任意类中任意方法的执行。 - 被匹配的方法的第一个参数类型必须是
food的类型,第二个参数类型必须是time的类型(food和time的类型由增强处理方法来决定)
实际上,上面的pointcut切入点表达式由两个表达式组成,而且使用&&来组合这两个表达式,所以要求同时满足这两个切入点表达式的要求。