深入理解 AspectJ 切入点签名语法与实现
1. 组合类型签名模式
可以使用一元和二元运算符组合类型签名模式,以下是一些示例:
| 签名模式 | 描述 | 示例类型 |
| — | — | — |
|!Collection | 除 Collection 之外的任何类型 | Account, Customer, ArrayList(尽管它继承自 Collection)等 |
| Collection || Map | Collection 或 Map 类型 | 仅 Collection 和 Map |
| java.util.RandomAccess+ && java.util.List+ | 实现了指定两个接口的任何类型 | java.util.ArrayList,因为它实现了这两个接口 |
|!@Secured * | 不带有 @Secured 注解的任何类型 | java.util.ArrayList, StringUtils(假设它未标记 @Secured)等 |
| @Secured @Sensitive * | 同时带有 @Secured 和 @Sensitive 注解的任何类型 | @Secured @Sensitive(level=5) class MedicalRecord { |
| @(Secured || Sensitive) * | 带有 @Secured 或 @Sensitive 注解的任何类型 | MedicalRecord(如前一行所定义),以及 @Secured class InventoryService { |
虽然某些切入点定义会单独使用类型签名模式,但它更常见的
超级会员免费看
订阅专栏 解锁全文
3092

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



