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
切入点表达式由两个表达式组成,而且使用&&
来组合这两个表达式,所以要求同时满足这两个切入点表达式的要求。