我有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将具有所有参数,因此您可以使用它们,并且不要忘记返回对象,否则程序将中断。