大家都知道,在增强方法中,使用jp.getArgs()[index]可以获取传进来的参数,但是参数传进来之后,怎么改变它的值呢?
因为jp.getArgs()[index]获取到的只是数据的备份,所以这样修改jp.getArgs()[index] = Null;修改后在别的增强方法中得到的值并没有改变
所以可以使用这种方法:
Object[] args = jp.getArgs();
args[0] = null;
args[1] = null;
然后调用环绕增强(Around)中的jp.proceed(args)方法,就可以修改传进来的参数了。
这样应该是相当于重新传了一份参数进去
本文介绍了一种在增强方法中修改传入参数的有效方法。通过调整jp.getArgs()获取的参数数组,而非直接修改副本,确保了参数变更能在后续增强方法中生效。此技巧对于理解和运用环绕增强(Around)模式特别有用。
168万+

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



