1. 定义
用于为命名目标对象创建WebDataBinder实例的工厂。
接口定义如下:
public interface WebDataBinderFactory {
WebDataBinder createBinder(NativeWebRequest webRequest, @Nullable Object target, String objectName)
throws Exception;
}
1.1 createBinder方法
为给定对象创建WebDataBinder。
2. 实现类
从图中可以发现其实现类包括 DefaultDataBinderFactory、InitBinderDataBinderFactory、ServletRequestDataBinderFactory。
2.1 DefaultDataBinderFactory类
该类在Spring-web包下,创建WebRequestDataBinder实例并用WebBindingInitializer对其进行初始化。
2.2 InitBinderDataBinderFactory类
2.3 ServletRequestDataBinderFactory类
3. WebBindingInitializer接口
用于初始化WebDataBinder以在特定web请求的上下文中执行数据绑定的回调接口。
接口定义如下:
public interface WebBindingInitializer {
void initBinder(WebDataBinder binder);
@Deprecated
default void initBinder(WebDataBinder binder, WebRequest request) {
initBinder(binder);
}
}
3.1 实现类ConfigurableWebBindingInitializer
方便的WebBindingInitializer,用于Spring应用程序上下文中的声明性配置。允许使用多个控制器/处理程序重用预配置的初始值设定项。