mvc:annotation-driven

    xiaoxiao2021-04-11  36

    关于<mvc:annotation-driven/>标签会自动注册

    RequestMappingHandlerMapping、

    RequsetMappingHandlerAdapter与

    ExceptionHandlerExceptionResolver三个bean。

    还将提供一下支持

    支持使用ConversionService实例对表单参数进行类型转换支持使用@NumberFormatannotation、@DateTimeFormat注解完成数据类型的格式化支持使用@Valid注解对JavaBean实例进行JSR 303验证支持使用@RequestBody和ResponseBody注解 上文数据绑定流程中知道, 数据绑定(WebDataBinder)的转换和格式化是存在(conversionServcie)中。那么来看一下设置和不设置<mvc:annotation-driven/>后,conversionService的变化。 既没有配置<mvc:default-servlet-handler/>也没有配置<mvc:annotation-driven/> conversionService为: 看到conversionService为空(一些基本的转换还是可以转换的),而装配在springMVC上下文中的handlerAdapter 配置了<mvc:default-servlet-handler/>但没有配置<mvc:annotation-driven/>(由于配置了一个配置导致页面报错) 由于配置中没有了AnnotationMethodHandlerAdapter,所以没办法去处理requestMapping注解的请求。直接报错了。 配置了<mvc:default-servlet-handler/>也配置了<mvc:annotation-driven/> 上面我们看到装配了带有注解的<mvc:default-servlet-handler/>、<mvc:annotation-driven/>的handlerAdapter的区别。其中有一个是 AnnotationMethodHandlerAdapter和RequestMappingHandlerAdapter来看一下这两者的区别。 看到这个AnnotationMethodHandlerAdapter已经过期,spring 3.2这个bean已经被RequestMapingHandlerAdapter替代了。 从名字上可以看出来annotation是注解的,他也会支持requestMapping注解。

    转载请注明原文地址: https://ju.6miu.com/read-666479.html

    最新回复(0)