Springmvc之配置(mvc:annotation-driven)详解

1、会自动注册RequestMappingHandlerMappingRequestMappingHandlerAdapterExceptionHandlerExceptionResolver三个bean支持使用了像@RquestMapping、@ExceptionHandler等等的注解的controller 方法去处理请求。
2、支持使用了ConversionService]的实例对表单参数进行类型转换。
3、支持使用@NumberFormat@NumberFormat解对数据类型进行格式化。
4、支持使用@Valid对javaBean进行JSR-303验证。
5、支持使用@RequestBody@ResponseBody

Spring 3.0.x中使用了mvc:annotation-driven后,默认会帮我们注册默认处理请求,参数和返回值的类,其中最主要的两个类:DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter ,分别为HandlerMapping的实现类和HandlerAdapter的实现类,从3.1.x版本开始对应实现类改为了RequestMappingHandlerMapping和RequestMappingHandlerAdapter。

HandlerMapping的实现类的作用

实现类RequestMappingHandlerMapping,它会处理@RequestMapping 注解,并将其注册到请求映射表中。

HandlerAdapter的实现类的作用

实现类RequestMappingHandlerAdapter,则是处理请求的适配器,确定调用哪个类的哪个方法,并且构造方法参数,返回值。

当配置了mvc:annotation-driven/后,Spring就知道了我们启用注解驱动。然后Spring通过context:component-scan/标签的配置,会自动为我们将扫描到的@Component,@Controller,@Service,@Repository等注解标记的组件注册到工厂中,来处理我们的请求。

的可选配置



    
        
    

    
        
    

    
        
    

 实际做了以下工作:(不包括添加自己定义的拦截器)

我们了解这些之后,对Spring3 MVC的控制力就更强大了,想改哪就改哪里。

    
              
      
             
                 
                   
                  
                  
                   
               
      
  
         
             
                 
                 
                 
                 
                 
                 
                 
             
         
     
  
  
  
  
  
  
  

 

你可能感兴趣的:(springmvc配置文件,标签详解)