0

我有一个用我的请求映射方法 ( )进行注释@RestController的类。同样在这个类中,我添加了一个带有注释并负责注册一些自定义编辑器的方法。具体来说,它是将 String 转换为 Enum。@ControllerAdvice@RequestMappingpublic void initBinder(WebDataBinder dataBinder)@InitBinderpropertyEditor

我注意到每次调用@RequestMapping控制器中的方法时,都会调用我的 initBinder 方法。因为在我看来这个编辑器注册应该只发生一次(控制器的初始化),我希望它只被设置(调用)一次。

有没有办法这样做?

4

1 回答 1

0

或者,您可以使用 BindingInitializer 的实现来注册您的自定义编辑器。您必须在您的应用程序上下文文件中定义一个“org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter”类的 bean,并使用您的 BindingInitializer 实现设置其“webBindingInitializer”属性。

在任何情况下,WebDataBinder 的范围都是针对请求的。希望这可以帮助。

于 2015-11-28T21:01:47.723 回答