gpt4 book ai didi

java - 如何在 AspectJ 中获取 joinPoint.proceed() 结果的参数?

转载 作者:行者123 更新时间:2023-11-30 07:55:18 28 4
gpt4 key购买 nike

我有以下建议代码:

    @Around("annotatedMethod()")
public Object aroundGetPanel(ProceedingJoinPoint joinPoint) throws Throwable
{
Object result = joinPoint.proceed();
return result;
}

而执行上述方法的方法是:

    public Person getPerson(String id){
return new Person(1,"Maialen");
}

public class Person {
private Integer id = null;
private String name = null;
public Person(Integer id,String name){
this.setId(id);
this.setName(name);
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return nombre;
}
public void setName(String name) {
this.name = name;
}
}

如何获取对象结果(Person)的参数?使用反射?使用注释?

最佳答案

我发现了如何通过反射来做到这一点:

    Class<?> clazz = result.getClass();
Field field = org.springframework.util.ReflectionUtils.findField(clazz, "name");
org.springframework.util.ReflectionUtils.makeAccessible(field);
String name=field.get(result).toString();

但我更喜欢通过注释来完成。有模式吗?

关于java - 如何在 AspectJ 中获取 joinPoint.proceed() 结果的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32758866/

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