深入理解 AOP 中的切入点与通知机制
1. 切入点相关知识
在 AOP(面向切面编程)中,切入点是一个关键概念。它用于选择需要应用通知的连接点。
1.1 注解与切入点
在静态可确定的切入点中使用的注解必须具有类或运行时保留策略,而其余切入点使用的注解必须具有运行时保留策略。
1.2 条件检查切入点
条件检查切入点基于连接点的某些条件检查来选择连接点,其形式为 if(BooleanExpression) 。以下是一些条件检查切入点的示例:
| 切入点 | 描述 |
| — | — |
| if(debug) | 定义切面中 debug 静态字段设置为 true 的任何连接点 |
| if(System.currentTimeMillis() > triggerTime) | 当前时间超过 triggerTime 值后发生的所有连接点 |
| if(circle.getRadius() < 5) | 圆半径小于 5 的所有连接点, circle 对象必须是切入点其他部分收集的上下文或定义切面中的静态字段 |
条件检查切入点通常与其他切入点结合使用,以选择性地应用动态横切。例如, execution(* *(..)) && if(debug) 仅在 debug
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



