<context:annotation-config/>,<context:component-scan/>,<mvc:annotation-driven/>区分

链接:http://blog.csdn.net/baple/article/details/16864175
链接:http://blog.csdn.net/Baple/article/details/16864835
传统的bean声明:<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>

<context:annotation-config/>
向Spring容器注册AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,
PersistenceAnnotationBeanPostProcessor,RequiredAnnotationBeanPostProcessor这4个BeanPostProcessor。
注册这4个BeanPostProcessor的作用,就是为了你的系统能够识别相应的注解。
-对于其他没有在spring容器中注册的bean,它不能起到注册bean的作用。

<context:component-scanbase-package=”xx.xx”/>
可以指定package扫描,
可以自动将带有@Autowired,@component,@service,@Repository等注解的对象注册到spring容器中的功能
隐式地在内部注册了AutowiredAnnotationBeanPostProcessor和CommonAnnotationBeanPostProcessor

-因此当使用<context:component- scan/>后,除非需要使用PersistenceAnnotationBeanPostProcessor和 RequiredAnnotationBeanPostProcessor两个Processor的功能(例如JPA等)否则就可以 将<context:annotation-config/>移除了。

<context:component-scanbase-package="com.baobaotao">
<context:include-filtertype="regex" expression="com.baobaotao.service..*"/>
<context:exclude-filtertype="aspectj" expression="com.baobaotao.util..*"/>
</context:component-scan>


<mvc:annotation-driven/>标签可简化springmvc的相关配置,默认情况下其会创建并注册实例:
DefaultAnnotationHandlerMapping:处理器映射器@Controller(默认注册)
AnnotationMethodHandlerAdapter-:处理器适配器
StringHttpMessageConverter
ByteArrayHttpMessageConverter
XmlAwareFormHttpMessageConverter
SourceHttpMessageConverter。
FormattingConversionServiceFactoryBean-:ConversionService类型转换
NumberFormatAnnotationFormatterFactory:@NumberFormat格式化
JodaDateTimeFormatAnnotationFormatterFactory::@DateTimeFormat格式化

LocalValidatorFactoryBean:@Valid数据校验

原文地址:https://www.cnblogs.com/jsStudyjj/p/spring.html