java - 有没有办法在 Controller 类之外访问 Spring Controller 参数?

标签 java spring spring-mvc

我有 Spring acpect,它会在我的应用程序中的每个 Controller 方法周围触发。在方面的主体中,我想访问方法签名中声明的所有请求参数。有没有一种简单的方法可以避免反射?

最佳答案

您可以尝试周围建议

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

关于java - 有没有办法在 Controller 类之外访问 Spring Controller 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169995/

相关文章:

java - TextView.post Runnable 并不总是有效

java - 应用引擎 : howto see content from a POST request

java - 添加到 ModelAndView 的变量似乎消失了

java - Spring mvc - 无法打开 ServletContext 资源/WEB-INF/dispatcher-servlet.xml

java - 使用 Spring :nestedPath tag

java - 如何将函数和方法合并到 Java 中的 if-else 条件中?

java - 在运行之前修改Java中的cucumber特征文件

java - @Autowired 与 @Autowired 与 Setter

java - Spring框架的循环 View 路径异常

java - 在 Eclipse Luna 调试器中请求参数值