Tôi đang gặp một số nhầm lẫn trong việc sử dụng và mục đích của DataBinder và ConversionService của Spring liên quan đến yêu cầu web ràng buộc đối với các đối tượng mô hình. Điều này đã phát sinh vì gần đây tôi đã cố gắng sử dụng xác thực JSR-303 bằng cách thêm.Sự khác nhau giữa DataBinder và ConversionService trong Spring
Trước đó tôi đã sử dụng:
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="mypackage.GlobalWebBindingInitializer" />
</property>
</bean>
này là tốt bởi vì tôi muốn có một DataBinder toàn cầu mà có thể được sử dụng bởi nhiều Controller. Trong lớp GlobalWebBindingInitialzer thực hiện một số các:
binder.registerCustomEditor(MyClass.class, new PropertyEditorSupport(MyClass.class)
Tuy nhiên tôi muốn sử dụng các chú thích @Valid và do đó gia tăng. Tác dụng phụ của điều này là bean AnnotationMethodHandlerAdapter ở trên đã được định nghĩa là một phần của hướng chú thích và vì vậy dữ liệu toàn cầu của tôi được bỏ qua.
Vì vậy, bây giờ tôi đã tạo ra lớp này:
public class MyClassConverter implements Converter<String, MyClass>
Tôi bối rối. Nếu tôi muốn sử dụng tôi có nên sử dụng dịch vụ chuyển đổi thay vì dữ liệu không?