gpt4 book ai didi

java - 从aspectJ中带注释的方法获取局部变量值

转载 作者:行者123 更新时间:2023-11-30 04:11:15 29 4
gpt4 key购买 nike

我正在使用java自定义注释和aspectJ

自定义注释

@Documented
@Target(ElementType.METHOD)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface TrxLogger {

String author() default "Shahid Ghafoor";
String comments() default "I am Fan of JAVA";
}

服务

public class Service {

private String name;

public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}

@TrxLogger
public String sayHello(String fn, String ln) {

this.name=fn;

String localVariable="Before System.out.println";

System.out.println("Welcome!" + fn + " " + ln);

return "The Transaction return Value";
}

}

外观

@Around(value="pcSample(tl)", argNames="tl")
public Object runMethod(ProceedingJoinPoint pjp, TrxLogger tl) throws Throwable {

return null;
}

是否可以获取aspect中sayHello()方法的局部变量值(String localVariable="Before System.out.println";)?

最佳答案

不,局部变量就是局部变量。您无法深入研究访问它的方法。方法的主体无法通过反射访问。

关于java - 从aspectJ中带注释的方法获取局部变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19560762/

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