1

我有一个界面

@InterceptorBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.TYPE })
public @interface LoggingInterceptorBinding {

}

和一个班级:

@LoggingInterceptorBinding
@Interceptor
public class LoggingInterceptor implements Serializable {

@AroundInvoke
public Object onMethodCall(InvocationContext context) throws Exception {
    try {
        System.out.println("Log before Method");
        return context.proceed();
    } finally {
        System.out.println("Log after Method");
    }

}

和一个带注释的方法:

@LoggingInterceptorBinding
public void sayHello(String name)

是否可以在拦截器“onMethodCalls”方法中从 sayHello 中获取参数“name”?

4

1 回答 1

5

InvocationContext接口有一个getParameters()方法

返回将传递给目标类方法的参数值。如果已调用 setParameters(),则 getParameters() 返回已设置参数的值。

于 2013-09-16T12:31:11.200 回答