• <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数据校验

  • 相关阅读:
    第三方接口开发规范
    项目经理、技术经理、team leader
    ibatis #和$符号的区别,传入字符串而不加引号
    WindowManager.LayoutParams详解
    AIDL 编译报can be an out parameter, so you must declare it as in, out or inout原因探究
    map里的keyset()和entryset()方法.
    android 使用代码实现 RelativeLayout布局
    Android中的Selector
    intentfilter 之 data 「scheme, host, port, mimeType, path, pathPrefix, pathPattern」
    找信息的方法
  • 原文地址:https://www.cnblogs.com/jsStudyjj/p/spring.html
Copyright © 2020-2023  润新知