深入了解 AspectJ 语法:优先级控制与 @AspectJ 语法解析
1. 方面优先级概述
在某些场景中,如家庭安全与节能方面,操作顺序至关重要。例如,在离开家时先关闭灯光再启动安全系统,可能会让人在黑暗中摸索;进入家时不开灯就解除安全系统,可能会导致延迟解除系统,进而触发安全警报。理想的进入顺序是:进入 > 打开灯光 > 解除警报;离开顺序是:启动警报 > 关闭灯光 > 离开。
从实现角度来看,我们希望 SaveEnergyAspect 的 before 通知在 HomeSecurityAspect 的 before 通知之前运行, SaveEnergyAspect 的 after 通知在 HomeSecurityAspect 的 after 通知之后运行。
2. 通知的排序规则
当系统中存在多个方面,不同方面的通知可能会应用于同一个连接点。AspectJ 使用以下优先级规则来确定通知的应用顺序:
1. 优先级较高的方面在连接点上的 before 通知会在优先级较低的方面之前执行。
2. 优先级较高的方面在连接点上的 after 通知会在优先级较低的方面之后执行。
3. 高优先级方面的 around 通知会包裹低优先级方面的 around 通知
超级会员免费看
订阅专栏 解锁全文
1399

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



