SpringMVC深入解析:转换服务与注解驱动

需积分: 13 1 下载量 107 浏览量 更新于2024-08-17 收藏 2.62MB PPT 举报
"本文主要介绍了如何在SpringMVC框架中使用支持格式化的转换器,以及SpringMVC的主要组件和功能。通过配置`mvc:annotation-driven`和`conversion-service`,可以自定义转换服务来处理特定的数据类型转换。此外,文章还提到了SpringMVC框架的结构、新特性和控制器的基本使用方法。" 在SpringMVC中,转换服务是用于处理不同数据类型之间转换的关键组件。`<mvc:annotation-driven conversion-service="conversionService">`这行配置会启用基于注解的驱动,其中`conversionService`属性允许我们指定自定义的转换服务。`org.springframework.format.support.FormattingConversionServiceFactoryBean`是一个工厂类,用于创建`ConversionService`实例,它默认支持多种格式化注解。 1. **格式化注解**: - `@NumberFormatter`:这个注解用于格式化数字类型的对象,例如整数、浮点数等,可以根据需要定制格式。 - `@CurrencyFormatter`:专用于货币类型的对象,可以设定货币的显示格式,如货币符号、小数位数等。 - `@PercentFormatter`:针对百分比数值进行格式化,可以控制百分比的精度。 自定义转换器可以通过`<bean>`标签添加到`conversionService`中,例如`<bean class="com.baobaotao.domain.StringToUserConverter"/>`,这里定义了一个将字符串转换为自定义User对象的转换器。 **SpringMVC框架概述**: SpringMVC是一个基于MVC设计模式的轻量级Web应用框架。其核心组件包括: - **DispatcherServlet**:前端控制器,接收HTTP请求并分发给合适的处理器。 - **HandlerMapping**:处理器映射器,负责将请求映射到相应的控制器方法。 - **HandlerAdapter**:处理器适配器,用于调用控制器方法。 - **Handler**:控制器,通常由标记为`@Controller`的类或方法组成,处理业务逻辑。 - **ModelAndView**:包含了模型数据和视图信息,是控制器方法返回的结果。 - **ViewResolver**:视图解析器,根据逻辑视图名解析出实际的视图对象。 - **Model**:模型数据,用于在控制器和视图之间传递数据。 SpringMVC3.0的新特性包括对RESTful风格URL的支持、更多注解的添加、HTTP输入输出转换器的引入、与数据转换、格式化和验证框架的无缝集成、静态资源的特殊处理以及控制器方法签名的灵活性增强,使得开发者可以不依赖Servlet API。 **控制器的使用**: 通过`@Controller`注解标记一个类作为控制器,`@RequestMapping`用于指定控制器处理的URL路径。例如,在`UserController`中,`@RequestMapping("user")`表示所有用户相关的请求将由这个控制器处理,而`@RequestMapping(value = "register")`则指定了注册用户的特定URL。 SpringMVC提供了一套强大的机制来处理Web应用中的数据转换、格式化和控制器调度,使得开发者可以更专注于业务逻辑,而不是底层的HTTP交互。通过合理配置和使用各种组件,可以构建出高效、灵活的Web应用程序。