<mvc:annotation-driven/>使用介绍

mvc:annotation-driven/ 是 Spring MVC 中的一个配置元素,它用于简化和加速 Spring MVC 应用的配置,尤其是那些使用注解的控制器。当你在 Spring MVC 配置文件中添加了 mvc:annotation-driven/ 元素时,Spring 会自动注册一系列的消息转换器(message converters)、数据绑定器(data binders)、验证器等必要的组件来支持注解驱动的控制器。

  • 使用介绍
  1. 添加依赖:
    确保你的项目中包含了 Spring MVC 的相关依赖,以及可能需要的消息转换器、验证等功能的依赖。

  2. 配置 Spring MVC:
    在 Spring MVC 的配置文件(通常是 spring-mvc-servlet.xml 或类似的名称)中,添加 mvc:annotation-driven/ 元素。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--组件扫描...-->
    <!--视图解析器-->

    <!--配置视图控制器,不需要处理业务逻辑,只是单纯的通过访问http://xxxx/test跳转到test页面,可以使用该注解-->
    <mvc:view-controller path="/test" view-name="test"/>

    <!-- 使用了mvc:view-controller,需要开启注解驱动-->
    <mvc:annotation-driven/>

    <!-- 其他配置 ... -->
</beans>
  1. 自动注册组件:
    消息转换器(Message Converters):用于在 HTTP 请求和响应之间转换 Java 对象。Spring MVC 会自动注册一些常见的消息转换器,如 MappingJackson2HttpMessageConverter(用于 JSON)和 StringHttpMessageConverter(用于字符串)。
    数据绑定器(Data Binders):用于将请求参数绑定到控制器方法的参数上。Spring MVC 会自动注册数据绑定器,并处理类型转换、格式化、验证等任务。
    异常处理器(Exception Handlers):用于处理控制器方法抛出的异常。你可以使用 @ExceptionHandler 注解来定义异常处理器。
    验证器(Validators):用于验证控制器方法的参数。你可以使用 JSR 303/380 注解(如 @NotNull, @Size 等)来进行验证,Spring MVC 会自动处理这些验证。

  2. 使用注解:
    在控制器中,你可以使用如 @RequestMapping, @Controller, @GetMapping, @PostMapping 等注解来定义请求映射和处理方法。这些注解将替代传统的 XML 配置方式。

  3. 注意事项:
    使用 mvc:annotation-driven/ 时,不需要再手动配置消息转换器、数据绑定器等组件,除非你有特殊的需求。
    如果你的项目需要支持特定的消息格式(如 XML),你可能需要手动注册相应的消息转换器。
    mvc:annotation-driven/ 还支持自定义的消息转换器、数据绑定器、异常处理器等组件的注册,以满足特定的需求。
    使用 mvc:annotation-driven/ 通常还需要配置 mvc:resources 来指定静态资源的位置,以便 Spring MVC 能够正确地处理静态资源的请求。
    总之,mvc:annotation-driven/ 是 Spring MVC 中一个非常有用的配置元素,它简化了注解驱动的控制器的配置,并自动注册了必要的组件来支持注解驱动的控制器。

posted @ 2024-07-08 10:20  文采杰出  阅读(5)  评论(0编辑  收藏  举报