gpt4 book ai didi

java - 如何创建自定义 java 注释以记录方法参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:19 25 4
gpt4 key购买 nike

我正在编写 JavaEE 应用程序,我想使用和创建自定义注释,它将在调用注释方法时记录数据。我想做的就是,当调用带注释的方法时,代码遍历所有传递的方法参数并写入标准输出参数键和值。

一些例子:

public class Test {

@LogMethodData
public int sum(int first, int second) {
return first + second;
}
}

我想实现的是,当自定义方法将用@LogMethodData 注释时,后面的代码将注意并将传递的方法参数记录到标准输出(类似于“方法数据:第一个 - 4,第二个 - 5”如果第一个参数包含值 4,第二个参数包含值 5),则与传递给方法的参数数量无关。

如果有人可以帮助我,我将非常高兴,因为我一直在寻找解决方案,但没有找到任何有用的东西。最后,我对这些东西不熟悉。

问候,达哈卡语

最佳答案

无需定义自己的Annotation,可以使用EE Con​​tainer中的@Interceptors Annotation as explained here .

@Interceptors(LoggingInterceptor.class)

在拦截器中,您将获得一个包含您的参数的上下文

public class LoggingInterceptor {
...

@AroundInvoke
public Object modifyGreeting(InvocationContext ctx) throws Exception {
....
Object[] parameters = ctx.getParameters();
try {
return ctx.proceed();
} catch (Exception e) {
logger.warning("Error calling ctx.proceed in modifyGreeting()");
return null;
}
}
}

另一个例子:here

关于java - 如何创建自定义 java 注释以记录方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20973396/

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