Mam pewne zamieszanie w używaniu i celach Spring DataBinder i ConversionService w odniesieniu do wiążących żądań internetowych do obiektów modelu. Stało się tak, ponieważ ostatnio próbowałem użyć sprawdzania poprawności JSR-303, dodając.Różnica między DataBinderem a usługą ConversionService na wiosnę
Wcześniej użyłem:
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="mypackage.GlobalWebBindingInitializer" />
</property>
</bean>
To było dobre, ponieważ chciałem globalną DataBinder które mogłyby być wykorzystane przez kilka sterowników. W klasie GlobalWebBindingInitialzer wdrożyć kilka z nich:
binder.registerCustomEditor(MyClass.class, new PropertyEditorSupport(MyClass.class)
Jednak chciałem użyć @Valid adnotacji i tak dodaje. Efektem ubocznym tego jest to, że powyższy komponent bean AnnotationMethodHandlerAdapter jest już zdefiniowany jako część adnotacji, więc mój globalny segregator danych jest ignorowany.
Więc teraz ja stworzyliśmy tę klasę:
public class MyClassConverter implements Converter<String, MyClass>
jestem zdezorientowany. Jeśli chcę użyć, czy powinienem używać usługi konwersji zamiast databinder?