【发布时间】:2021-03-16 14:35:51
【问题描述】:
在方法对其进行了一些修改后,我正在尝试使用 Spring AOP/AspectJ 来访问我的参数。
示例:
public void changeValueOnFoo(Foo fooToModify) {
fooToModify.changeValue("1");
}
@Around("execution(* com.my.FooFunctions.changeValueOnFoo(..)")
public void interceptFoo(ProceedingJoinPoint jp) {
Foo f = (Foo) jp.getArgs()[0];
System.out.println(f.getValue()); // will print "1"
jp.proceed();
Foo modifiedf = jp.getArgs()[0];
System.out.println(modifiedF.printValue()); // will print "2"?
}
这样的事情可能吗?处理,然后在方法修改参数后调用参数?还是getArgs 只是持有一个指向参数原始状态的指针,所以这是不可能的?
【问题讨论】:
标签: java spring aop aspectj spring-aop