MVC:注解驱动的标签做从上下文中额外的工作:组件扫描标签
标签注册处理程序映射和将请求分派到所需的处理程序适配器您@控制器:
标签帮助注册以下组件。
DefaultAnnotationHandlerMapping - 这是一个HandlerMapping实现,它将HTTP请求映射到使用@RequestMapping注释定义的处理程序方法。
AnnotationMethodHandlerAdapter - 它负责扫描控制器以识别使用@MVC标注注释的方法(和参数)。它扫描和缓存用@RequestMapping注解的处理程序方法。还处理@RequestParam,@ModelAttribute,@SessionAttributes和@InitBinder注释。
ConfigurableWebBindingInitializer - Web Data Binder的初始值设定项。帮助以声明方式配置验证器,转换服务,属性编辑器等Web活页夹。
LocalValidatorFactoryBean - 实现验证器接口并启用JSR303验证。这被注入到ConfigurableWebBindingInitializer中。 FormattingConversionServiceFactoryBean - 为基本对象(如日期和数字)返回转换服务的转换工厂。该工厂再次注入到ConfigurableWebBindingInitializer中。
消息转换器
ByteArrayHttpMessageConverter - 甲HTTP请求消息转换器,其读取HTTP消息主体,并返回一个字节流。它也可以读取一个字节流并构造一个响应体。用于接收和发送,如PDF,XLS等文件
StringHttpMessageConverter - 甲HTTP请求消息转换器,其读取明文请求主体并将其绑定到一个字符串对象。反之亦然。
FormHttpMessageConverter - 甲HTTP请求消息转换器,其读取形式编码的请求体并将其绑定到一个形式绑定对象。
SourceHttpMessageConverter - 一个HTTP请求转换器,用于将XML消息体转换为绑定对象。
如果我们不使用MVC:注解驱动的标签,然后我们要做的xml文件中手动注册这些组件,以使用它们,这会导致过多的额外工作。
来源
2017-10-26 08:55:46
dhS
从Spring 3.1,配置豆RequestMappingHandlerMapping和RequestMappingHandlerAdapter –
这个答案是不完全正确的。默认的处理程序映射豆'BeanNameUrlHandlerMapping'和'DefaultAnnotationHandlerMapping'和违约处理程序适配器豆'HttpRequestHandlerAdapter','SimpleControllerHandlerAdapter'和'AnnotationMethodHandlerAdapter'总是创建不论您提供'MVC:annotationDriven'标签或不[文件](HTTP:/ /docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/DispatcherServlet.html)。 –