Class DefaultDataBinderFactory
java.lang.Object
org.springframework.web.bind.support.DefaultDataBinderFactory
- All Implemented Interfaces:
WebDataBinderFactory
- Direct Known Subclasses:
InitBinderDataBinderFactory
Create a
WebRequestDataBinder
instance and initialize it with a
WebBindingInitializer
.- Since:
- 3.1
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionDefaultDataBinderFactory
(WebBindingInitializer initializer) Create a newDefaultDataBinderFactory
instance. -
Method Summary
Modifier and TypeMethodDescriptionfinal WebDataBinder
createBinder
(NativeWebRequest webRequest, Object target, String objectName) Create a newWebDataBinder
for the given target object and initialize it through aWebBindingInitializer
.final WebDataBinder
createBinder
(NativeWebRequest webRequest, Object target, String objectName, ResolvableType type) Variant ofWebDataBinderFactory.createBinder(NativeWebRequest, Object, String)
with aResolvableType
for which theDataBinder
is created.protected WebDataBinder
createBinderInstance
(Object target, String objectName, NativeWebRequest webRequest) Extension point to create the WebDataBinder instance.protected void
initBinder
(WebDataBinder dataBinder, NativeWebRequest webRequest) Extension point to further initialize the created data binder instance (e.g.void
setMethodValidationApplicable
(boolean methodValidationApplicable) Configure flag to signal whether validation will be applied to handler method arguments, which is the case if Bean Validation is enabled in Spring MVC, and method parameters have@Constraint
annotations.
-
Constructor Details
-
DefaultDataBinderFactory
Create a newDefaultDataBinderFactory
instance.- Parameters:
initializer
- for global data binder initialization (ornull
if none)
-
-
Method Details
-
setMethodValidationApplicable
public void setMethodValidationApplicable(boolean methodValidationApplicable) Configure flag to signal whether validation will be applied to handler method arguments, which is the case if Bean Validation is enabled in Spring MVC, and method parameters have@Constraint
annotations.- Since:
- 6.1
-
createBinder
public final WebDataBinder createBinder(NativeWebRequest webRequest, @Nullable Object target, String objectName) throws Exception Create a newWebDataBinder
for the given target object and initialize it through aWebBindingInitializer
.- Specified by:
createBinder
in interfaceWebDataBinderFactory
- Parameters:
webRequest
- the current requesttarget
- the object to create a data binder for, ornull
if creating a binder for a simple typeobjectName
- the name of the target object- Returns:
- the created
WebDataBinder
instance, never null - Throws:
Exception
- in case of invalid state or arguments
-
createBinder
public final WebDataBinder createBinder(NativeWebRequest webRequest, @Nullable Object target, String objectName, ResolvableType type) throws Exception Variant ofWebDataBinderFactory.createBinder(NativeWebRequest, Object, String)
with aResolvableType
for which theDataBinder
is created. This may be used to construct the target, or otherwise provide more insight on how to initialize the binder..By default, if the parameter has
@Valid
, Bean Validation is excluded, deferring to method validation.- Specified by:
createBinder
in interfaceWebDataBinderFactory
- Throws:
Exception
-
createBinderInstance
protected WebDataBinder createBinderInstance(@Nullable Object target, String objectName, NativeWebRequest webRequest) throws Exception Extension point to create the WebDataBinder instance. By default, this isWebRequestDataBinder
.- Parameters:
target
- the binding target ornull
for type conversion onlyobjectName
- the binding target object namewebRequest
- the current request- Throws:
Exception
- in case of invalid state or arguments
-
initBinder
Extension point to further initialize the created data binder instance (e.g. with@InitBinder
methods) after "global" initialization viaWebBindingInitializer
.- Parameters:
dataBinder
- the data binder instance to customizewebRequest
- the current request- Throws:
Exception
- if initialization fails
-