## org.springframework.web.bind.support
Class ConfigurableWebBindingInitializer

    java.lang.Object
      org.springframework.web.bind.support.ConfigurableWebBindingInitializer

All Implemented Interfaces:
  WebBindingInitializer

    public class ConfigurableWebBindingInitializer

extends Object
implements WebBindingInitializer

Convenient `WebBindingInitializer` for declarative configuration in a Spring application context. Allows for reusing pre-configured initializers with multiple controller/handlers.

Since:
  2.5
Author:
  Juergen Hoeller
See Also:
  `setDirectFieldAccess(boolean)`, `setMessageCodesResolver(org.springframework.validation.MessageCodesResolver)`, `setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor)`, `setValidator(Validator)`, `setConversionService(ConversionService)`, `setPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)`

Constructor Summary
`ConfigurableWebBindingInitializer()`

Method Summary
`BindingErrorProcessor` `getBindingErrorProcessor()` Return the strategy to use for processing binding errors.
`ConversionService` `getConversionService()` Return the ConversionService which will apply to every DataBinder.
`MessageCodesResolver` `getMessageCodesResolver()` Return the strategy to use for resolving errors into message codes.
`PropertyEditorRegistrar[]` `getPropertyEditorRegistrars()` Return the PropertyEditorRegistrars to be applied to every DataBinder.
`Validator` `getValidator()` Return the Validator to apply after each binding step, if any.
`void` `initBinder(WebDataBinder binder, WebRequest request)` Initialize the given DataBinder for the given request.
`boolean` `isAutoGrowNestedPaths()` Return whether a binder should attempt to "auto-grow" a nested path that contains a null value.
`boolean` `isDirectFieldAccess()` Return whether to use direct field access instead of bean property access.
`void` `setAutoGrowNestedPaths(boolean autoGrowNestedPaths)` Set whether a binder should attempt to "auto-grow" a nested path that contains a null value.
`void` `setBindingErrorProcessor(BindingErrorProcessor bindingErrorProcessor)` Set the strategy to use for processing binding errors, that is, required field errors and `PropertyAccessException`s.
`void` `setConversionService(ConversionService conversionService)` Specify a ConversionService which will apply to every DataBinder.
`void` `setDirectFieldAccess(boolean directFieldAccess)` Set whether to use direct field access instead of bean property access.
`void` `setMessageCodesResolver(MessageCodesResolver messageCodesResolver)` Set the strategy to use for resolving errors into message codes.
`void` `setPropertyEditorRegistrar(PropertyEditorRegistrar propertyEditorRegistrar)` Specify a single PropertyEditorRegistrar to be applied to every DataBinder.
`void` `setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)` Specify multiple PropertyEditorRegistrars to be applied to every DataBinder.
`void` `setValidator(Validator validator)` Set the Validator to apply after each binding step.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ConfigurableWebBindingInitializer

    public ConfigurableWebBindingInitializer()

Method Detail

### setAutoGrowNestedPaths

    public void setAutoGrowNestedPaths(boolean autoGrowNestedPaths)

  Set whether a binder should attempt to "auto-grow" a nested path that contains a null value.

  If "true", a null path location will be populated with a default object value and traversed instead of resulting in an exception. This flag also enables auto-growth of collection elements when accessing an out-of-bounds index.

  Default is "true" on a standard DataBinder. Note that this feature is only supported for bean property access (DataBinder's default mode), not for field access.

  See Also:
    `#initBeanPropertyAccess()`, `DataBinder.setAutoGrowNestedPaths(boolean)`

### isAutoGrowNestedPaths

    public boolean isAutoGrowNestedPaths()

  Return whether a binder should attempt to "auto-grow" a nested path that contains a null value.

### setDirectFieldAccess

    public final void setDirectFieldAccess(boolean directFieldAccess)

  Set whether to use direct field access instead of bean property access.

  Default is `false`, using bean property access. Switch this to `true` in order to enforce direct field access.

  See Also:
    `DataBinder.initDirectFieldAccess()`, `DataBinder.initBeanPropertyAccess()`

### isDirectFieldAccess

    public boolean isDirectFieldAccess()

  Return whether to use direct field access instead of bean property access.

### setMessageCodesResolver

    public final void setMessageCodesResolver(MessageCodesResolver messageCodesResolver)

  Set the strategy to use for resolving errors into message codes. Applies the given strategy to all data binders used by this controller.

  Default is `null`, i.e. using the default strategy of the data binder.

  See Also:
    `DataBinder.setMessageCodesResolver(org.springframework.validation.MessageCodesResolver)`

### getMessageCodesResolver

    public final MessageCodesResolver getMessageCodesResolver()

  Return the strategy to use for resolving errors into message codes.

### setBindingErrorProcessor

    public final void setBindingErrorProcessor(BindingErrorProcessor bindingErrorProcessor)

  Set the strategy to use for processing binding errors, that is, required field errors and `PropertyAccessException`s.

  Default is `null`, that is, using the default strategy of the data binder.

  See Also:
    `DataBinder.setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor)`

### getBindingErrorProcessor

    public final BindingErrorProcessor getBindingErrorProcessor()

  Return the strategy to use for processing binding errors.

### setValidator

    public final void setValidator(Validator validator)

  Set the Validator to apply after each binding step.

### getValidator

    public final Validator getValidator()

  Return the Validator to apply after each binding step, if any.

### setConversionService

    public final void setConversionService(ConversionService conversionService)

  Specify a ConversionService which will apply to every DataBinder.

  Since:
    3.0

### getConversionService

    public final ConversionService getConversionService()

  Return the ConversionService which will apply to every DataBinder.

### setPropertyEditorRegistrar

    public final void setPropertyEditorRegistrar(PropertyEditorRegistrar propertyEditorRegistrar)

  Specify a single PropertyEditorRegistrar to be applied to every DataBinder.

### setPropertyEditorRegistrars

    public final void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)

  Specify multiple PropertyEditorRegistrars to be applied to every DataBinder.

### getPropertyEditorRegistrars

    public final PropertyEditorRegistrar[] getPropertyEditorRegistrars()

  Return the PropertyEditorRegistrars to be applied to every DataBinder.

### initBinder

    public void initBinder(WebDataBinder binder,
                           WebRequest request)

  Description copied from interface: `WebBindingInitializer`
  Initialize the given DataBinder for the given request.

  Specified by:
    `initBinder` in interface `WebBindingInitializer`
  Parameters:
    `binder` - the DataBinder to initialize
    `request` - the web request that the data binding happens within