SpringMVC3 转换服务详解:支持格式化的转换器

需积分: 9 2 下载量 137 浏览量 更新于2024-08-18 收藏 2.62MB PPT 举报
"本文主要介绍了在SpringMVC3中如何使用支持格式化的转换器,以及SpringMVC框架的基本结构和核心组件。通过配置`mvc:annotation-driven`标签并指定`conversion-service`,可以启用格式化的转换服务。同时,文章提到了SpringMVC3的一些新特性,包括对RESTful风格的支持、更多注解的添加、HTTP输入输出转换器的引入等。" 在SpringMVC3中,为了实现数据的格式化转换,我们可以在配置文件中使用`<mvc:annotation-driven>`标签,这会默认创建一个`FormattingConversionServiceFactoryBean`实例,该实例能够支持特定的格式化注解,例如`@NumberFormatter`、`@CurrencyFormatter`和`@PercentFormatter`。这些注解分别用于数字、货币和百分比类型的对象格式化,使得在处理这些数据时能够按照预定义的格式进行展示。 `<mvc:annotation-driven conversion-service="conversionService">` 这段代码指定了一个自定义的转换服务,其中`conversionService`是一个bean,它的类是`org.springframework.format.support.FormattingConversionServiceFactoryBean`。通过在`<property>`标签中定义`converters`列表,我们可以添加自定义的转换器,例如`<bean class="com.baobaotao.domain.StringToUserConverter"/>`,这个转换器用于将字符串转换为用户对象。 SpringMVC框架的核心组件包括`DispatcherServlet`,它是整个流程的调度者;`HandlerMapping`负责映射请求到相应的处理器;`HandlerAdapter`则帮助调用处理器的方法;`ModelAndView`用于封装模型数据和视图信息;`ViewResolver`解析逻辑视图名到实际视图;而`Model`则包含了控制器处理后传递给视图的数据。通过这些组件的协作,SpringMVC能够高效地处理HTTP请求,并返回响应。 此外,SpringMVC3的新特性包括对REST风格URL的支持,使得开发RESTful API变得更加简单。更多的注解使得代码更加简洁,例如`@RequestMapping`用于映射URL和处理方法。引入的`HttpMessageConverter`负责HTTP请求和响应的输入输出转换。SpringMVC3还与数据转换、格式化、验证框架无缝集成,提高了处理数据的灵活性。对于静态资源的处理,SpringMVC提供了特殊的支持,避免了对静态文件的过度拦截。最后,控制器方法签名的灵活性增加,使得开发者可以完全独立于Servlet API,提高了代码的可读性和可维护性。 SpringMVC3通过其强大的功能和易用性,成为了构建现代Web应用程序的首选框架之一。通过理解并熟练运用其转换服务和核心组件,开发者可以更高效地管理数据和构建功能丰富的Web应用。