Sto riscontrando un po 'di confusione nell'uso e nello scopo di DataBinder e ConversionService di Spring per quanto riguarda le richieste Web di associazione ai modelli di oggetti. Ciò è dovuto al fatto che recentemente ho provato ad utilizzare la convalida JSR-303 aggiungendo.Differenza tra DataBinder e ConversionService in primavera
Prima di questo ho usato:
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="mypackage.GlobalWebBindingInitializer" />
</property>
</bean>
Questo è stato buono perché volevo una DataBinder globale che potrebbe essere utilizzato da diversi controllori. All'interno della classe GlobalWebBindingInitialzer implementare alcuni di questi:
binder.registerCustomEditor(MyClass.class, new PropertyEditorSupport(MyClass.class)
Tuttavia ho voluto usare l'annotazione @Valid e così aggiunsi. L'effetto collaterale di ciò è che il suddetto bean AnnotationMethodHandlerAdapter è già definito come parte dell'annotazione e quindi il mio raccoglitore globale di dati viene ignorato.
Così ora ho creato questa classe:
public class MyClassConverter implements Converter<String, MyClass>
Sono confuso. Se voglio usare dovrei usare il servizio di conversione piuttosto che il databinder?