Я испытываю некоторую путаницу в использовании и назначении Spring DataBinder и ConversionService в отношении привязки веб-запросов к объектам модели. Это произошло из-за того, что я недавно попытался использовать проверку JSR-303, добавив.
До этого я пользовался:
<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 и добавил. Побочным эффектом этого является то, что вышеупомянутый bean-компонент AnnotationMethodHandlerAdapter уже определен как часть управляемой аннотациями, и поэтому мое связующее с глобальными данными игнорируется.
Итак, я создал этот класс:
public class MyClassConverter implements Converter<String, MyClass>
Я в замешательстве. Если я хочу использовать, я должен использовать конвертацию, а не базы данных?