我正在研究Guice的拦截方法调用。我从here看到基本的拦截是可能的。但是,拦截方法的逻辑不仅需要访问传递给函数的参数,还需要访问(不幸的)类成员属性。 Guice AOP是否可以实现这一目标?如果是这样,需要做什么?我在想可能看起来像这样的东西:
Queue
答案 0 :(得分:0)
可以使用反射。不知道这是否是一个好习惯,我认为您知道自己在做什么!
public Object invoke(MethodInvocation methodInvocation) throws Throwable {
Object o = methodInvocation.getThis();
Field f = methodInvocation.getMethod().getDeclaringClass().getDeclaredField("member");
//if member is private
f.setAccessible(true);
System.out.println("inside interception :: " + f.get(o));
f.setAccessible(false);
return methodInvocation.proceed();
}