|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport
public class WebMvcConfigurationSupport
This is the main class providing the configuration behind the MVC Java config.
It is typically imported by adding @EnableWebMvc to an
application @Configuration class. An alternative more
advanced option is to extend directly from this class and override methods as
necessary remembering to add @Configuration to the
subclass and @Bean to overridden @Bean methods.
For more details see the Javadoc of @EnableWebMvc.
This class registers the following HandlerMappings:
RequestMappingHandlerMapping
ordered at 0 for mapping requests to annotated controller methods.
HandlerMapping
ordered at 1 to map URL paths directly to view names.
BeanNameUrlHandlerMapping
ordered at 2 to map URL paths to controller bean names.
HandlerMapping
ordered at Integer.MAX_VALUE-1 to serve static resource requests.
HandlerMapping
ordered at Integer.MAX_VALUE to forward requests to the default servlet.
Registers these HandlerAdapters:
RequestMappingHandlerAdapter
for processing requests with annotated controller methods.
HttpRequestHandlerAdapter
for processing requests with HttpRequestHandlers.
SimpleControllerHandlerAdapter
for processing requests with interface-based Controllers.
Registers a HandlerExceptionResolverComposite with this chain of
exception resolvers:
ExceptionHandlerExceptionResolver for handling exceptions
through @ExceptionHandler methods.
ResponseStatusExceptionResolver for exceptions annotated
with @ResponseStatus.
DefaultHandlerExceptionResolver for resolving known Spring
exception types
Both the RequestMappingHandlerAdapter and the
ExceptionHandlerExceptionResolver are configured with default
instances of the following kind, unless custom instances are provided:
DefaultFormattingConversionService
LocalValidatorFactoryBean if a JSR-303 implementation is
available on the classpath
HttpMessageConverters depending on the 3rd party
libraries available on the classpath.
EnableWebMvc,
WebMvcConfigurer,
WebMvcConfigurerAdapter| Constructor Summary | |
|---|---|
WebMvcConfigurationSupport()
|
|
| Method Summary | |
|---|---|
protected void |
addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
Add custom HandlerMethodArgumentResolvers to use in addition to
the ones registered by default. |
protected void |
addDefaultHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)
A method available to subclasses for adding default HandlerExceptionResolvers. |
protected void |
addDefaultHttpMessageConverters(List<HttpMessageConverter<?>> messageConverters)
Adds a set of default HttpMessageConverter instances to the given list. |
protected void |
addFormatters(FormatterRegistry registry)
Override this method to add custom Converters and Formatters. |
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 HandlerMethodReturnValueHandlers in addition to the
ones registered by default. |
protected void |
addViewControllers(ViewControllerRegistry registry)
Override this method to add view controllers. |
BeanNameUrlHandlerMapping |
beanNameHandlerMapping()
Return a BeanNameUrlHandlerMapping ordered at 2 to map URL
paths to controller bean names. |
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 HandlerExceptionResolvers to use. |
protected void |
configureMessageConverters(List<HttpMessageConverter<?>> converters)
Override this method to add custom HttpMessageConverters to use
with the RequestMappingHandlerAdapter and the
ExceptionHandlerExceptionResolver. |
HandlerMapping |
defaultServletHandlerMapping()
Return a handler mapping ordered at Integer.MAX_VALUE with a mapped default servlet handler. |
protected Object[] |
getInterceptors()
Provide access to the shared handler interceptors used to configure HandlerMapping instances with. |
protected List<HttpMessageConverter<?>> |
getMessageConverters()
Provides access to the shared HttpMessageConverters used by the
RequestMappingHandlerAdapter and the
ExceptionHandlerExceptionResolver. |
protected Validator |
getValidator()
Override this method to provide a custom Validator. |
HandlerExceptionResolver |
handlerExceptionResolver()
Returns a HandlerExceptionResolverComposite containing a list
of exception resolvers obtained either through
configureHandlerExceptionResolvers(List) or through
addDefaultHandlerExceptionResolvers(List). |
HttpRequestHandlerAdapter |
httpRequestHandlerAdapter()
Returns a HttpRequestHandlerAdapter for processing requests
with HttpRequestHandlers. |
FormattingConversionService |
mvcConversionService()
Returns a FormattingConversionService for use with annotated
controller methods and the spring:eval JSP tag. |
Validator |
mvcValidator()
Returns a global Validator instance for example for validating
@ModelAttribute and @RequestBody method arguments. |
RequestMappingHandlerAdapter |
requestMappingHandlerAdapter()
Returns a RequestMappingHandlerAdapter for processing requests
through annotated controller methods. |
RequestMappingHandlerMapping |
requestMappingHandlerMapping()
Return a RequestMappingHandlerMapping ordered at 0 for mapping
requests to annotated controllers. |
HandlerMapping |
resourceHandlerMapping()
Return a handler mapping ordered at Integer.MAX_VALUE-1 with mapped resource handlers. |
void |
setApplicationContext(ApplicationContext applicationContext)
Set the ApplicationContext that this object runs in. |
void |
setServletContext(ServletContext servletContext)
Set the ServletContext that this object runs in. |
SimpleControllerHandlerAdapter |
simpleControllerHandlerAdapter()
Returns a SimpleControllerHandlerAdapter for processing requests
with interface-based controllers. |
HandlerMapping |
viewControllerHandlerMapping()
Return a handler mapping ordered at 1 to map URL paths directly to view names. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public WebMvcConfigurationSupport()
| Method Detail |
|---|
public void setServletContext(ServletContext servletContext)
ServletContextAwareInvoked after population of normal bean properties but before an init
callback like InitializingBean's afterPropertiesSet or a
custom init-method. Invoked after ApplicationContextAware's
setApplicationContext.
setServletContext in interface ServletContextAwareservletContext - ServletContext object to be used by this objectInitializingBean.afterPropertiesSet(),
ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException
ApplicationContextAwareInvoked after population of normal bean properties but before an init callback such
as InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked after ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader),
ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) and
MessageSourceAware, if applicable.
setApplicationContext in interface ApplicationContextAwareapplicationContext - the ApplicationContext object to be used by this object
ApplicationContextException - in case of context initialization errors
BeansException - if thrown by application context methodsBeanInitializationException@Bean public RequestMappingHandlerMapping requestMappingHandlerMapping()
RequestMappingHandlerMapping ordered at 0 for mapping
requests to annotated controllers.
protected final Object[] getInterceptors()
HandlerMapping instances with. This method cannot be overridden,
use addInterceptors(InterceptorRegistry) instead.
protected void addInterceptors(InterceptorRegistry registry)
InterceptorRegistry@Bean public HandlerMapping viewControllerHandlerMapping()
addViewControllers(org.springframework.web.servlet.config.annotation.ViewControllerRegistry).
protected void addViewControllers(ViewControllerRegistry registry)
ViewControllerRegistry@Bean public BeanNameUrlHandlerMapping beanNameHandlerMapping()
BeanNameUrlHandlerMapping ordered at 2 to map URL
paths to controller bean names.
@Bean public HandlerMapping resourceHandlerMapping()
addResourceHandlers(org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry).
protected void addResourceHandlers(ResourceHandlerRegistry registry)
ResourceHandlerRegistry@Bean public HandlerMapping defaultServletHandlerMapping()
configureDefaultServletHandling(org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer).
protected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
DefaultServletHandlerConfigurer@Bean public RequestMappingHandlerAdapter requestMappingHandlerAdapter()
RequestMappingHandlerAdapter for processing requests
through annotated controller methods. Consider overriding one of these
other more fine-grained methods:
addArgumentResolvers(java.util.List) for adding custom argument resolvers.
addReturnValueHandlers(java.util.List) for adding custom return value handlers.
configureMessageConverters(java.util.List>) for adding custom message converters.
protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
HandlerMethodArgumentResolvers 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.
argumentResolvers - the list of custom converters;
initially an empty list.protected void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)
HandlerMethodReturnValueHandlers 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.
returnValueHandlers - the list of custom handlers;
initially an empty list.protected final List<HttpMessageConverter<?>> getMessageConverters()
HttpMessageConverters used by the
RequestMappingHandlerAdapter and the
ExceptionHandlerExceptionResolver.
This method cannot be overridden.
Use configureMessageConverters(List) instead.
Also see addDefaultHttpMessageConverters(List) that can be
used to add default message converters.
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters)
HttpMessageConverters 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 addDefaultHttpMessageConverters(List) that
can be used to add default message converters.
converters - a list to add message converters to;
initially an empty list.protected final void addDefaultHttpMessageConverters(List<HttpMessageConverter<?>> messageConverters)
configureMessageConverters(List).
messageConverters - the list to add the default message converters to@Bean public FormattingConversionService mvcConversionService()
FormattingConversionService for use with annotated
controller methods and the spring:eval JSP tag.
Also see addFormatters(org.springframework.format.FormatterRegistry) as an alternative to overriding this method.
protected void addFormatters(FormatterRegistry registry)
Converters and Formatters.
@Bean public Validator mvcValidator()
Validator instance for example for validating
@ModelAttribute and @RequestBody method arguments.
Delegates to getValidator() first and if that returns null
checks the classpath for the presence of a JSR-303 implementations
before creating a LocalValidatorFactoryBean.If a JSR-303
implementation is not available, a no-op Validator is returned.
protected Validator getValidator()
Validator.
@Bean public HttpRequestHandlerAdapter httpRequestHandlerAdapter()
HttpRequestHandlerAdapter for processing requests
with HttpRequestHandlers.
@Bean public SimpleControllerHandlerAdapter simpleControllerHandlerAdapter()
SimpleControllerHandlerAdapter for processing requests
with interface-based controllers.
@Bean public HandlerExceptionResolver handlerExceptionResolver()
HandlerExceptionResolverComposite containing a list
of exception resolvers obtained either through
configureHandlerExceptionResolvers(List) or through
addDefaultHandlerExceptionResolvers(List).
Note: This method cannot be made final due to CGLib
constraints. Rather than overriding it, consider overriding
configureHandlerExceptionResolvers(List), which allows
providing a list of resolvers.
protected void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)
HandlerExceptionResolvers to use. Adding resolvers to the list
turns off the default resolvers that would otherwise be registered by
default. Also see addDefaultHandlerExceptionResolvers(List)
that can be used to add the default exception resolvers.
exceptionResolvers - a list to add exception resolvers to;
initially an empty list.protected final void addDefaultHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)
HandlerExceptionResolvers.
Adds the following exception resolvers:
ExceptionHandlerExceptionResolver
for handling exceptions through @ExceptionHandler methods.
ResponseStatusExceptionResolver
for exceptions annotated with @ResponseStatus.
DefaultHandlerExceptionResolver
for resolving known Spring exception types
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||