我有Spring的尊重,这会触发我的应用程序中的每个控制器方法。在方面,我想访问所有在方法签名中声明的请求参数。有没有一种简单的方法可以避免反射?

最佳答案

您可以尝试环顾建议

@Around("yourMethods()")
    public Object someOperation(ProceedingJoinPoint pjp) throws Throwable {
        long start = System.nanoTime();
        Object retval = pjp.proceed();
        long end = System.nanoTime();
        String methodName = pjp.getSignature().getName();
        logger.info("Execution of " + methodName + " took " +
          TimeUnit.NANOSECONDS.toMillis(end - start) + " ms");
        return retval;
    }


这里ProceedingJoinPoint将具有所有参数,因此您可以使用它们,并且不要忘记返回对象,否则程序将中断。

07-28 06:32