3

在我的 Web 应用程序中,我有很多地方需要检索当前登录的帐户(从会话中)。

Account account = getAccountFromSession(session);

这段代码重复了很多次。我想知道这是否可以使我的请求看起来像这样:

@RequestMapping(value="/something", method=RequestMethod.POST)
public String handleSomething(
        @RequestParam String someParam,
        @Account Account account) { ... }

@Account 是我的自定义注释。

我如何告诉 spring 处理这个注释?

4

1 回答 1

4

使用HandlerMethodArgumentResolver(或WebArgumentResolver低于 3.1 的版本)。

要启用您的参数解析器:

  • 如果您使用@EnableWebMvc- 制作您的@Configuration工具WebMvcConfigurer并覆盖addArgumentResolvers()
  • 如果你使用<mvc:annotation-driven>- 使用argument-resolvers属性
  • 对于旧版本,您可能需要AnnotationMethodHandlerAdapter手动声明并设置其customArgumentResolvers
于 2013-06-19T20:39:53.137 回答