org.springframework.web.servlet.config
Class AnnotationDrivenBeanDefinitionParser

java.lang.Object
  extended by org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser
All Implemented Interfaces:
BeanDefinitionParser

 class AnnotationDrivenBeanDefinitionParser
extends java.lang.Object
implements BeanDefinitionParser

A BeanDefinitionParser that provides the configuration for the <annotation-driven/> MVC namespace element.

This class registers the following HandlerMappings:

Note: Additional HandlerMappings may be registered as a result of using the <view-controller> or the <resources> MVC namespace elements.

This class registers the following HandlerAdapters:

This class registers the following HandlerExceptionResolvers:

Both the RequestMappingHandlerAdapter and the ExceptionHandlerExceptionResolver are configured with default instances of the following kind, unless custom instances are provided:

Since:
3.0
Author:
Keith Donald, Juergen Hoeller, Arjen Poutsma, Rossen Stoyanchev

Field Summary
private static boolean jacksonPresent
           
private static boolean jaxb2Present
           
private static boolean jsr303Present
           
private static boolean romePresent
           
 
Constructor Summary
AnnotationDrivenBeanDefinitionParser()
           
 
Method Summary
private  RootBeanDefinition createConverterBeanDefinition(java.lang.Class<? extends HttpMessageConverter> converterClass, java.lang.Object source)
           
private  ManagedList<BeanDefinitionHolder> extractBeanSubElements(org.w3c.dom.Element parentElement, ParserContext parserContext)
           
private  ManagedList<?> getArgumentResolvers(org.w3c.dom.Element element, java.lang.Object source, ParserContext parserContext)
           
private  RuntimeBeanReference getConversionService(org.w3c.dom.Element element, java.lang.Object source, ParserContext parserContext)
           
private  RuntimeBeanReference getMessageCodesResolver(org.w3c.dom.Element element, java.lang.Object source, ParserContext parserContext)
           
private  ManagedList<?> getMessageConverters(org.w3c.dom.Element element, java.lang.Object source, ParserContext parserContext)
           
private  ManagedList<?> getReturnValueHandlers(org.w3c.dom.Element element, java.lang.Object source, ParserContext parserContext)
           
private  RuntimeBeanReference getValidator(org.w3c.dom.Element element, java.lang.Object source, ParserContext parserContext)
           
 BeanDefinition parse(org.w3c.dom.Element element, ParserContext parserContext)
          Parse the specified Element and register the resulting BeanDefinition(s) with the BeanDefinitionRegistry embedded in the supplied ParserContext.
private  ManagedList<BeanDefinitionHolder> wrapWebArgumentResolverBeanDefs(java.util.List<BeanDefinitionHolder> beanDefs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

jsr303Present

private static final boolean jsr303Present

jaxb2Present

private static final boolean jaxb2Present

jacksonPresent

private static final boolean jacksonPresent

romePresent

private static boolean romePresent
Constructor Detail

AnnotationDrivenBeanDefinitionParser

AnnotationDrivenBeanDefinitionParser()
Method Detail

parse

public BeanDefinition parse(org.w3c.dom.Element element,
                            ParserContext parserContext)
Description copied from interface: BeanDefinitionParser
Parse the specified Element and register the resulting BeanDefinition(s) with the BeanDefinitionRegistry embedded in the supplied ParserContext.

Implementations must return the primary BeanDefinition that results from the parse if they will ever be used in a nested fashion (for example as an inner tag in a <property/> tag). Implementations may return null if they will not be used in a nested fashion.

Specified by:
parse in interface BeanDefinitionParser
Parameters:
element - the element that is to be parsed into one or more BeanDefinitions
parserContext - the object encapsulating the current state of the parsing process; provides access to a BeanDefinitionRegistry
Returns:
the primary BeanDefinition

getConversionService

private RuntimeBeanReference getConversionService(org.w3c.dom.Element element,
                                                  java.lang.Object source,
                                                  ParserContext parserContext)

getValidator

private RuntimeBeanReference getValidator(org.w3c.dom.Element element,
                                          java.lang.Object source,
                                          ParserContext parserContext)

getMessageCodesResolver

private RuntimeBeanReference getMessageCodesResolver(org.w3c.dom.Element element,
                                                     java.lang.Object source,
                                                     ParserContext parserContext)

getArgumentResolvers

private ManagedList<?> getArgumentResolvers(org.w3c.dom.Element element,
                                            java.lang.Object source,
                                            ParserContext parserContext)

getReturnValueHandlers

private ManagedList<?> getReturnValueHandlers(org.w3c.dom.Element element,
                                              java.lang.Object source,
                                              ParserContext parserContext)

getMessageConverters

private ManagedList<?> getMessageConverters(org.w3c.dom.Element element,
                                            java.lang.Object source,
                                            ParserContext parserContext)

createConverterBeanDefinition

private RootBeanDefinition createConverterBeanDefinition(java.lang.Class<? extends HttpMessageConverter> converterClass,
                                                         java.lang.Object source)

extractBeanSubElements

private ManagedList<BeanDefinitionHolder> extractBeanSubElements(org.w3c.dom.Element parentElement,
                                                                 ParserContext parserContext)

wrapWebArgumentResolverBeanDefs

private ManagedList<BeanDefinitionHolder> wrapWebArgumentResolverBeanDefs(java.util.List<BeanDefinitionHolder> beanDefs)