在将 Web 请求绑定到模型对象方面,我在 Spring 的 DataBinder 和 ConversionService 的使用和目的方面遇到了一些困惑。出现这种情况是因为我最近尝试通过添加 .
在此之前,我使用:
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="mypackage.GlobalWebBindingInitializer" />
</property>
</bean>
这很好,因为我想要一个可以被多个控制器使用的全局 DataBinder。在 GlobalWebBindingInitialzer 类中实现以下几个:
binder.registerCustomEditor(MyClass.class, new PropertyEditorSupport(MyClass.class)
但是我想使用 @Valid 注释,所以添加了 . 这样做的副作用是上面的 AnnotationMethodHandlerAdapter bean 已经被定义为注释驱动的一部分,因此我的全局数据绑定器被忽略了。
所以现在我创建了这个类:
public class MyClassConverter implements Converter<String, MyClass>
我很困惑。如果我想使用,我应该使用转换服务而不是数据绑定器吗?