`

mvc:annotation-driven注解的作用

 
阅读更多

 

mvc:annotation-driven注解的作用

 

<mvc:annotation-driven>会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean,这是Spring MVC为@Controller分发请求所必需的,并且提供了数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持读写XML的支持(JAXB)和读写JSON的支持(默认Jackson)等功能。

使用该注解后的springmvc-config.xml:

<!--  spring 可以自动去扫描 base-package下面的包或子包下面的Java文件,如果扫描到有Spring的相关

注解的类,则把这些类注册为Spring的bean -->

<context:component-scan base-package="org.fkit.controller"/>

<!--设置配置方案 -->

  <mvc:annotation-driven/>

<!--使用默认的Servlet来响应静态文件-->

<mvc:default-servlet-handler/>

<!-- 视图解析器 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
<!-- 前缀 -->
<property name="prefix">
<value>/WEB-INF/content/</value>
</property>
<!-- 后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>

 

=============================================================

 

我们使用SpringMVC时,尤其是刚刚开始学习使用,经常会跟官方文档学。写一个标签就搞定了SpringMVC。Why???

<mvc:annotation-driven ></mvc:annotation-driven>
  • 1

那么到底他做了什么??很多人不知道哟!!!

<!-- 
    <mvc:annotation-driven ></mvc:annotation-driven>
    -->
    <!-- 上面的标签相当于 如下配置-->       
    <!-- Begin -->
        <!-- HandlerMapping -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping "></bean>
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
        <!-- HandlerAdapter -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
        <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter "></bean>
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
        <!-- HadnlerExceptionResolvers -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver "></bean>
        <bean class="org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver"></bean>
        <bean class="org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver"></bean>
    <!-- End -->

上面的配置也说明,这些Bean是不需要写name、id属性的。他们是会被以类型的形式提供给DispatcherServlet使用。

 

 

  • 大小: 577.8 KB
分享到:
评论

相关推荐

    拦截器与冲突解决

    首先,我们需要理解`&lt;mvc:annotation-driven /&gt;`的作用。它是Spring MVC配置中的一个便捷元素,用于自动配置基于注解的控制器(@Controller)和数据绑定、异常处理等特性。它会开启对HTTP请求方法(如GET、POST)的...

    SpringMVC源码总结(三)mvc:annotation-driven和mvc:message-converters简单介绍

    在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...

    SpringMVC源码总结(二)mvc:mvc:annotation-driven背后的那些事

    在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...

    (代码)SpringMVC第12讲:<mvc:annotation-driven/>

    首先,`&lt;mvc:annotation-driven/&gt;`的作用是自动配置Spring MVC,启用对处理方法注解的支持,如`@RequestMapping`、`@RequestParam`、`@ModelAttribute`等。通过这个元素,我们可以避免编写大量的XML配置,转而采用...

    SpringMVC中解决@ResponseBody注解返回中文乱码问题

    总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`&lt;mvc:annotation-driven&gt;`元素之前。通过上述方法,可以有效地...

    spring注解出现中文乱码

    - **XML配置文件**:题目中提到的异常信息提示`mvc:annotation-driven`元素没有子元素,这是由于`mvc:annotation-driven`的配置方式不正确所致。 - **修正方式**:根据Spring 3.0的规范,`mvc:annotation-driven`...

    spring-mvc 注解方式xml配置

    `&lt;mvc:annotation-driven&gt;`则启用了Spring MVC的注解支持。 最后,`web.xml`是应用的部署描述符,配置`DispatcherServlet`以便处理所有HTTP请求: ```xml &lt;web-app&gt; &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt; ...

    Spring基础包的dtd(aop,jdbc,jee,jms,lang,mvc,oxm)等

    `mvc.dtd`是Spring MVC模块的DTD文件,提供了如`&lt;mvc:annotation-driven&gt;`、`&lt;mvc:view-controller&gt;`等元素,用于声明式地配置控制器、视图解析等。 `oxm.dtd`涉及对象/XML映射(Object/XML Mapping),如JAXB或...

    SpringMVC+Hibernate实例

    &lt;mvc:annotation-driven/&gt; &lt;!--视图解析--&gt; &lt;bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; ...

    Spring源码学习十一:SpringMVC-@RequestBody接收json数据报4151

    深入源码分析,`&lt;mvc:annotation-driven /&gt;` 是Spring MVC中用于启用注解驱动的配置元素,它会自动配置一些关键组件,包括消息转换器。`MvcNamespaceHandler` 是处理这个注解的命名空间处理器,而`...

    spring-mvc-4.2.xsd.zip

    例如,`&lt;mvc:annotation-driven&gt;`元素用于启用基于注解的控制器支持,这意味着Spring MVC会自动扫描并处理带有`@Controller`注解的类。而`&lt;context:component-scan&gt;`则用于扫描指定包下的所有类,自动发现带有`@...

    SpringMVC上传文件ie提示下载json文件解决方案

    - `&lt;mvc:annotation-driven&gt;`:启用SpringMVC注解驱动,这是使用SpringMVC框架的基本配置之一。 - `&lt;mvc:message-converters&gt;`:指定要使用的消息转换器。 - `&lt;ref bean="mappingJackson2HttpMessageConverter"/&gt;...

    spring mvc3.1.0 日期自动转换

    3. 配置转换器:在Spring MVC配置中,你可以通过`&lt;mvc:annotation-driven&gt;`标签启用数据绑定和类型转换功能,并可以自定义转换器的优先级或添加新的转换器。 ```xml &lt;mvc:annotation-driven&gt; &lt;mvc:converters&gt; &lt;!...

    SpringMVC关于json、xml自动转换的原理研究.pdf

    首先,我们来看`&lt;mvc:annotation-driven/&gt;`标签,它是Spring MVC配置中用于启用基于注解的控制器的关键元素。在Spring的内部,这个标签会被`AnnotationDrivenBeanDefinitionParser`解析,进而创建并配置一系列的...

    后台接口返回json数据所需jar包和配置

    需要在`&lt;mvc:annotation-driven&gt;`或自定义`&lt;bean&gt;`中配置这个消息转换器。 ```xml &lt;mvc:annotation-driven&gt; &lt;mvc:message-converters register-defaults="true"&gt; &lt;!-- 可以配置特定的ObjectMapper,如果不配置...

    SpringMVC关于json、xml自动转换的原理研究.docx

    Spring MVC的核心配置`&lt;mvc:annotation-driven/&gt;`在解析时,会创建`RequestMappingHandlerMapping`和`RequestMappingHandlerAdapter`这两个关键组件。前者负责将`@RequestMapping`注解的路由信息与控制器方法关联,...

    SPRING MVC3.2案例讲解---配置

    `mvc:annotation-driven`则是开启Spring MVC的注解驱动,支持我们在Controller方法上使用@RequestMapping等注解。 除了基本配置,我们还可以配置拦截器(Interceptor)、异常处理器(HandlerExceptionResolver)...

    spring的部分常用xsd文件,包含mvc,aop,beans,tx,task多个版本

    XSD文件如`spring-mvc.xsd`定义了Spring MVC配置的元素和属性,例如`&lt;mvc:annotation-driven&gt;`用于启用基于注解的控制器,`&lt;bean&gt;`定义了一个可被Spring管理的Bean。 2. **Spring AOP**: Spring AOP模块提供了...

    spring—mvc -json

    &lt;/mvc:annotation-driven&gt; ``` 5. 测试:现在,当客户端向 `/person` URL发起GET请求时,Spring MVC会将`getPerson`方法返回的`Person`对象自动转换为JSON格式并返回给客户端。 在提供的`JavaJson`压缩包中,...

    Spring3.X @MVC - (一)重要的配置文件

    2. **`&lt;mvc:annotation-driven&gt;`**: 此元素启用Spring MVC对注解的处理,使得我们可以在控制器类的方法上使用像@RequestMapping这样的注解来处理HTTP请求。它还提供了数据绑定、转换服务、验证等特性。 3. **`...

Global site tag (gtag.js) - Google Analytics