org.springframework.web.servlet.config.annotation

## Class DelegatingWebMvcConfiguration

- java.lang.Object
- - org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport
  - - org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration

- All Implemented Interfaces:
    Aware, ApplicationContextAware, ServletContextAware

      @Configuration
      public class DelegatingWebMvcConfiguration
      extends WebMvcConfigurationSupport

  A sub-class of `WebMvcConfigurationSupport` that detects and delegates to all beans of type `WebMvcConfigurer` allowing them to customize the configuration provided by `WebMvcConfigurationSupport`. This is the class actually imported by `@EnableWebMvc`.
  Since:
    3.1
  Author:
    Rossen Stoyanchev

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DelegatingWebMvcConfiguration()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)` Add custom `HandlerMethodArgumentResolver`s to use in addition to the ones registered by default.
    `protected void` | `addFormatters(FormatterRegistry registry)` Override this method to add custom `Converter`s and `Formatter`s.
    `protected void` | `addInterceptors(InterceptorRegistry registry)` Override this method to add Spring MVC interceptors for pre- and post-processing of controller invocation.
    `protected void` | `addResourceHandlers(ResourceHandlerRegistry registry)` Override this method to add resource handlers for serving static resources.
    `protected void` | `addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)` Add custom `HandlerMethodReturnValueHandler`s in addition to the ones registered by default.
    `protected void` | `addViewControllers(ViewControllerRegistry registry)` Override this method to add view controllers.
    `void` | `configureAsyncSupport(AsyncSupportConfigurer configurer)` Override this method to configure asynchronous request processing options.
    `protected void` | `configureContentNegotiation(ContentNegotiationConfigurer configurer)` Override this method to configure content negotiation.
    `protected void` | `configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)` Override this method to configure "default" Servlet handling.
    `protected void` | `configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)` Override this method to configure the list of `HandlerExceptionResolver`s to use.
    `protected void` | `configureMessageConverters(List<HttpMessageConverter<?>> converters)` Override this method to add custom `HttpMessageConverter`s to use with the `RequestMappingHandlerAdapter` and the `ExceptionHandlerExceptionResolver`.
    `protected MessageCodesResolver` | `getMessageCodesResolver()` Override this method to provide a custom `MessageCodesResolver`.
    `protected Validator` | `getValidator()` Override this method to provide a custom `Validator`.
    `void` | `setConfigurers(List<WebMvcConfigurer> configurers)`

    - ### Methods inherited from class org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport

      `addDefaultHandlerExceptionResolvers, addDefaultHttpMessageConverters, beanNameHandlerMapping, defaultServletHandlerMapping, getConfigurableWebBindingInitializer, getDefaultMediaTypes, getInterceptors, getMessageConverters, handlerExceptionResolver, httpRequestHandlerAdapter, mvcContentNegotiationManager, mvcConversionService, mvcValidator, requestMappingHandlerAdapter, requestMappingHandlerMapping, resourceHandlerMapping, setApplicationContext, setServletContext, simpleControllerHandlerAdapter, viewControllerHandlerMapping`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DelegatingWebMvcConfiguration

          public DelegatingWebMvcConfiguration()

  - ### Method Detail

    - #### setConfigurers

          @Autowired(required=false)
          public void setConfigurers(List<WebMvcConfigurer> configurers)

    - #### addInterceptors

          protected void addInterceptors(InterceptorRegistry registry)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to add Spring MVC interceptors for pre- and post-processing of controller invocation.
      Overrides:
        `addInterceptors` in class `WebMvcConfigurationSupport`
      See Also:
        `InterceptorRegistry`

    - #### configureContentNegotiation

          protected void configureContentNegotiation(ContentNegotiationConfigurer configurer)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to configure content negotiation.
      Overrides:
        `configureContentNegotiation` in class `WebMvcConfigurationSupport`
      See Also:
        `DefaultServletHandlerConfigurer`

    - #### configureAsyncSupport

          public void configureAsyncSupport(AsyncSupportConfigurer configurer)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to configure asynchronous request processing options.
      Overrides:
        `configureAsyncSupport` in class `WebMvcConfigurationSupport`
      See Also:
        `AsyncSupportConfigurer`

    - #### addViewControllers

          protected void addViewControllers(ViewControllerRegistry registry)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to add view controllers.
      Overrides:
        `addViewControllers` in class `WebMvcConfigurationSupport`
      See Also:
        `ViewControllerRegistry`

    - #### addResourceHandlers

          protected void addResourceHandlers(ResourceHandlerRegistry registry)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to add resource handlers for serving static resources.
      Overrides:
        `addResourceHandlers` in class `WebMvcConfigurationSupport`
      See Also:
        `ResourceHandlerRegistry`

    - #### configureDefaultServletHandling

          protected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to configure "default" Servlet handling.
      Overrides:
        `configureDefaultServletHandling` in class `WebMvcConfigurationSupport`
      See Also:
        `DefaultServletHandlerConfigurer`

    - #### addArgumentResolvers

          protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)

      Description copied from class: `WebMvcConfigurationSupport`
      Add custom `HandlerMethodArgumentResolver`s to use in addition to the ones registered by default.

      Custom argument resolvers are invoked before built-in resolvers except for those that rely on the presence of annotations (e.g. `@RequestParameter`, `@PathVariable`, etc.). The latter can be customized by configuring the `RequestMappingHandlerAdapter` directly.

      Overrides:
        `addArgumentResolvers` in class `WebMvcConfigurationSupport`
      Parameters:
        `argumentResolvers` - the list of custom converters; initially an empty list.

    - #### addReturnValueHandlers

          protected void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)

      Description copied from class: `WebMvcConfigurationSupport`
      Add custom `HandlerMethodReturnValueHandler`s in addition to the ones registered by default.

      Custom return value handlers are invoked before built-in ones except for those that rely on the presence of annotations (e.g. `@ResponseBody`, `@ModelAttribute`, etc.). The latter can be customized by configuring the `RequestMappingHandlerAdapter` directly.

      Overrides:
        `addReturnValueHandlers` in class `WebMvcConfigurationSupport`
      Parameters:
        `returnValueHandlers` - the list of custom handlers; initially an empty list.

    - #### configureMessageConverters

          protected void configureMessageConverters(List<HttpMessageConverter<?>> converters)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to add custom `HttpMessageConverter`s to use with the `RequestMappingHandlerAdapter` and the `ExceptionHandlerExceptionResolver`. Adding converters to the list turns off the default converters that would otherwise be registered by default. Also see `WebMvcConfigurationSupport.addDefaultHttpMessageConverters(List)` that can be used to add default message converters.
      Overrides:
        `configureMessageConverters` in class `WebMvcConfigurationSupport`
      Parameters:
        `converters` - a list to add message converters to; initially an empty list.

    - #### addFormatters

          protected void addFormatters(FormatterRegistry registry)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to add custom `Converter`s and `Formatter`s.
      Overrides:
        `addFormatters` in class `WebMvcConfigurationSupport`

    - #### getValidator

          protected Validator getValidator()

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to provide a custom `Validator`.
      Overrides:
        `getValidator` in class `WebMvcConfigurationSupport`

    - #### getMessageCodesResolver

          protected MessageCodesResolver getMessageCodesResolver()

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to provide a custom `MessageCodesResolver`.
      Overrides:
        `getMessageCodesResolver` in class `WebMvcConfigurationSupport`

    - #### configureHandlerExceptionResolvers

          protected void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)

      Description copied from class: `WebMvcConfigurationSupport`
      Override this method to configure the list of `HandlerExceptionResolver`s to use. Adding resolvers to the list turns off the default resolvers that would otherwise be registered by default. Also see `WebMvcConfigurationSupport.addDefaultHandlerExceptionResolvers(List)` that can be used to add the default exception resolvers.
      Overrides:
        `configureHandlerExceptionResolvers` in class `WebMvcConfigurationSupport`
      Parameters:
        `exceptionResolvers` - a list to add exception resolvers to; initially an empty list.