gpt4 book ai didi

java - 在 AspectJ 中使用 n 个参数调用继续

转载 作者:行者123 更新时间:2023-12-04 05:17:55 25 4
gpt4 key购买 nike

假设我定义了这种形式的切入点

* *.*(..)

我想定义一个环绕建议,我如何调用任意数量的参数?

我想过使用反射和 thisJoinPoint.getArgs() 但在尝试之前,我想知道是否有一种干净简单的方法。

最佳答案

proceed是一个常见的误解采用与匹配模式的方法相同的参数。然而,proceed接受 的参数建议 规定。

示例:

class C {   
public void foo(int i, int j, char c) {
System.out.println("T.foo() " + i*j + " " + c);
}
}

class Context {
public int bar = 7;
public void doStuff() {
C c = new C();
c.foo(2, 3, 'x');
}
}

有一个方面:
public aspect MyAspect {

pointcut AnyCall() :
call(* *.*(..)) && !within(MyAspect);

void around(Context c) : AnyCall() && this(c) {
if (c.bar > 5)
proceed(c); // based on "around(Context c)"
}
}

关于java - 在 AspectJ 中使用 n 个参数调用继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14003542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com