使用spring mvc时,我们会在配置文件里添加<mvc:annotation-driven /><beans>
这个配置文件都加载了那些类呢?
1. Among others, registers:
* RequestMappingHandlerMapping
* RequestMappingHandlerAdapter
* ExceptionHandlerExceptionResolver
in support of processing requests with annotated controller methods using annotations such as @RequestMapping , @ExceptionHandler, etc.
2. Enables Spring 3 style type conversion through a ConversionService instance in addition to the JavaBeans PropertyEditors used for Data Binding.
3. Enables support for formatting Number fields using the @NumberFormat annotation through the ConversionService.
4. Enables support for formatting Date, Calendar, Long, and Joda Time fields using the @DateTimeFormat annotation, if Joda Time 1.3 or higher is present on the classpath.
5. Enables support for validating @Controller inputs with @Valid, if a JSR-303 Provider is present on the classpath.
6. Enables HttpMessageConverter support for @RequestBody method parameters and @ResponseBody method return values from @RequestMapping or @ExceptionHandler methods.
This is the complete list of HttpMessageConverters set up by mvc:annotation-driven:
* ByteArrayHttpMessageConverter converts byte arrays.
* StringHttpMessageConverter converts strings.
* ResourceHttpMessageConverter converts to/from org.springframework.core.io.Resource for all media types.
* SourceHttpMessageConverter converts to/from a javax.xml.transform.Source.
* FormHttpMessageConverter converts form data to/from a MultiValueMap<String, String>.
* Jaxb2RootElementHttpMessageConverter converts Java objects to/from XML — added if JAXB2 is present on the classpath. This converter can read classes annotated with XmlRootElement and XmlType, and write classes annotated with withXmlRootElement, or subclasses thereof.
* MappingJacksonHttpMessageConverter converts to/from JSON — added if Jackson is present on the classpath.
* AtomFeedHttpMessageConverter converts Atom feeds — added if Rome is present on the classpath.
* RssChannelHttpMessageConverter converts RSS feeds — added if Rome is present on the classpath.
类似controller中ajax请求直接返回对象被组装成json格式,就是由于该配置文件注册了MappingJacksonHttpMessageConverter对象,当我们的工程引入了jackson相关的jar包,spring就可以自动将我们的返回对象封装成json对象输出给客户端。
分享到:
相关推荐
1. **配置顺序**:Spring MVC按照注册拦截器的顺序执行它们,如果`<mvc:annotation-driven />`配置在拦截器之后,那么可能会导致拦截器无法正常工作,因为Spring可能已经处理了请求,而没有交给拦截器。 2. **命名...
9. **国际化**:虽然`mvc:annotation-driven`不直接处理国际化,但它配合Spring的其他配置,如`ResourceBundleMessageSource`,可以实现基于注解的国际化消息。 以上是`mvc:annotation-driven`主要涉及的一些核心...
在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...
Spring MVC Annotation验证方法 Spring MVC 框架提供了多种验证方法,其中一种常用的方式是使用Annotation验证。本文将详细介绍 Spring MVC Annotation验证的方法,包括使用 Spring MVC 自带的 Annotation 验证和...
首先,`<mvc:annotation-driven/>`的作用是自动配置Spring MVC,启用对处理方法注解的支持,如`@RequestMapping`、`@RequestParam`、`@ModelAttribute`等。通过这个元素,我们可以避免编写大量的XML配置,转而采用...
这个文件包含了所有在Spring MVC 4.2版本中可以使用的XML配置元素和属性,例如`<mvc:annotation-driven>`、`<bean>`、`<context:component-scan>`等。这些配置元素允许开发者声明式地配置控制器、视图解析器、转换...
<mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> ``` 现在,你可以开始编写控制器类,...
十九、<mvc:annotation-driven/>到底做了什么工作:描述了<mvc:annotation-driven />标签的作用,它自动注册了诸如ConversionService、ValidatingHandlerInterceptor等组件,并启用了特定注解的处理器映射。...
Spring MVC 教程 快速入门 深入分析 目录 一、前言 二、spring mvc 核心类与接口 三、spring mvc 核心流程图 四、spring mvc DispatcherServlet说明 ...十九、 <mvc:annotation-driven /> 到底做了什么工作
个人认为相当适合入门和知识巩固!! 一、前言 二、spring mvc 核心类与接口 ...十九、 <mvc:annotation-driven /> 到底做了什么工作 二十、 本文中springMVC.xml配置文件是核心,这里给一个下载地址
在`web.xml`或Spring Boot的配置中,我们需要配置`<mvc:annotation-driven>`元素,或者在Spring Boot中通过`@EnableWebMvc`注解。 在`springmvc_2`这个压缩包文件中,可能包含了相关的代码示例、配置文件或其他辅助...
<mvc:annotation-driven/> ``` 5. **创建Controller**: - 在`com.example.springmvcexample.controller`包下创建一个新的Java类,如`HelloWorldController.java`。 - 在这个类中,使用`@Controller`注解标记它...
Spring MVC internationalization annotation example 这个是annotation 方式的国际化 访问http://localhost:8080/login.htm
`<mvc:annotation-driven/>` 配置主要用于启用 Spring MVC 的注解驱动功能。这包括但不限于: - **自动绑定**:支持自动将 HTTP 请求参数绑定到控制器方法的参数上。 - **数据转换**:支持自动的数据类型转换。 - **...
</mvc:annotation-driven> ``` 5. 测试:现在,当客户端向 `/person` URL发起GET请求时,Spring MVC会将`getPerson`方法返回的`Person`对象自动转换为JSON格式并返回给客户端。 在提供的`JavaJson`压缩包中,...
- **Spring MVC配置**:配置`<mvc:annotation-driven>`启用注解驱动,配置视图解析器如`InternalResourceViewResolver`。 **5. 实例化Mapper** 在Service层,可以通过@Autowired注解自动注入Mapper接口,例如: ```...
- **URL映射**:在XML配置文件中,使用`<mvc:annotation-driven>`元素启用基于注解的控制器,或者使用`<bean>`定义`HandlerMapping`和`HandlerAdapter`来配置URL到Controller的映射。 - **视图技术**:通过`<bean>...
<mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> ``` 4. **编写Controller**:使用...
然后,在Spring的配置文件中,我们可以通过`<mvc:annotation-driven>`标签启用HTTP消息转换器支持,这样Spring MVC会自动处理JSON的序列化和反序列化。 3. **模型绑定和JSON输入** 当前端向后端发送JSON数据时,...
`mvc:annotation-driven`则是开启Spring MVC的注解驱动,支持我们在Controller方法上使用@RequestMapping等注解。 除了基本配置,我们还可以配置拦截器(Interceptor)、异常处理器(HandlerExceptionResolver)...