11、AspectJ切入点:控制流与类初始化指示符详解

AspectJ切入点:控制流与类初始化指示符详解

1. 通配符在切入点签名中的使用

在匹配新的切入点与 UpdateIt 代码时,我们会得到与之前相同的输出。此时,我们无需指定所有参数,也无法访问它们。可以在连接点签名的最后部分使用通配符。例如:

pointcut updatePC(String arg1) : 
call(public void update(String, int, ..)) &&
args(arg1, ..);  
before(String arg1) : updatePC(arg1) {
    System.out.println(thisJoinPoint.toLongString());
    System.out.println(arg1);
}

这里我们将“..”通配符的位置进行了调整,使其成为连接点签名的最后部分,因为我们只关注第一个参数。切入点签名和通知只需要 args 指示符返回的单个参数。

2. 基于控制流的指示符

在之前的示例中,我们在整个应用程序中匹配连接点,而不考虑连接点的起源。例如,我们能够捕获对 DVD 对象上 setLocation() 方法的所有调用。 setLocation() 方法是 Location 属性的访问器函数,并且被定义为公共的,这意味着任何人都可以调用它。从相关代码中可以看到, s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值