首页 > 技术文章 > Spring标签<mvc:annotation-driven/>解读

chihirotan 2016-12-16 15:22 原文

一、AnnotationDrivenBeanDefinitionParser

    通常如果我们希望通过注解的方式来进行Spring MVC开发,我们都会在***-servlet.xml中加入<mvc:annotation-driven/>标签来告诉Spring我们的目的。但是我们为什么这么做呢?这个标签是什么意思呢?它做了什么呢?

    同样为了弄清楚这些问题, 像<context:component-scan/>标签一样,我们先找到它的解析类。第一篇文章中说过了,所有的自定义命名空间(像mvc,context等)下的标签解析都是由BeanDefinitionParser接口的子类来完成的。参看第一篇文章中的图片

我们看到有多个AnnotationDrivenBeanDefinitionParser,他们是用来处理不同命名空间下的<annotation-driven/>标签的,我们今天研究的是<mvc:annotation-driven/>标签,所以我们找到对应的实现类是org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser。
    通过阅读类注释文档,我们发现这个类主要是用来向工厂中注册了

发现该类注册了默认的转换器 conversionService(FormattingConversionServiceFactoryBean)

 

 

 

 未完:待续

 

 

 

 

参考

http://blog.csdn.net/ljhabc1982/article/details/18703459

推荐阅读