Spring MVC 转换服务与格式化注解详解
需积分: 0 15 浏览量
更新于2024-08-18
收藏 2.62MB PPT 举报
"本文主要介绍了如何在Spring MVC中使用支持格式化的转换器,以及Spring MVC框架的基本结构和关键组件。通过配置`mvc:annotation-driven`和定义`conversionService`,可以自定义转换服务,实现数据的格式化。此外,文章还提到了Spring MVC 3.0的新特性,包括RESTful URL支持、更多注解、HTTP输入输出转换器等。"
在Spring MVC中,我们经常需要将数据从一种类型转换为另一种类型,或者按照特定的格式显示数据。`<mvc:annotation-driven conversion-service="conversionService">`标签用于启用基于注解的驱动,并指定自定义的转换服务。在这里,我们定义了一个名为`conversionService`的bean,其类为`org.springframework.format.support.FormattingConversionServiceFactoryBean`,这个工厂bean提供了对格式化注解的支持。
`FormattingConversionServiceFactoryBean`支持以下三种格式化注解:
1. `@NumberFormatter`: 用于数字类型的格式化,可以定制数字的显示样式,例如保留小数位数、使用特定的千分符等。
2. `@CurrencyFormatter`: 专门用于货币类型的对象,可以按照特定的货币格式进行显示。
3. `@PercentFormatter`: 用于百分比数字的格式化,能够方便地展示百分比值。
在实际应用中,我们可以通过定义自己的转换器类(如`com.baobaotao.domain.StringToUserConverter`)并将其加入到`conversionService`的`converters`列表中,来扩展转换服务的功能,处理自定义类型之间的转换。
Spring MVC框架的核心组件包括`DispatcherServlet`,它是所有请求的入口点。`HandlerMapping`负责将请求映射到合适的处理器,而`HandlerAdapter`则确保控制器方法可以被调用。处理器执行完毕后,返回`ModelAndView`对象,其中包含模型数据和逻辑视图名。`ViewResolver`根据逻辑视图名解析出实际的视图,最后渲染视图并响应给客户端。
Spring MVC 3.0引入了许多新特性,增强了其功能和灵活性。例如,支持REST风格的URL使得创建RESTful API变得简单;添加了更多的注解,使得开发更注解驱动;引入了`HttpMessageConverter`,用于处理HTTP请求和响应的数据转换;与数据转换、格式化、验证框架的无缝集成,提高了数据处理的效率;对静态资源的特殊处理,优化了静态资源的访问;控制器方法签名更加灵活,可以完全独立于Servlet API,降低了对Servlet的依赖。
通过深入理解这些核心概念和特性,开发者能够更好地利用Spring MVC构建高效、健壮的Web应用程序。
永不放弃yes
- 粉丝: 915
- 资源: 2万+
最新资源
- DIY0920101213.rar_手机短信编程_Visual_C++_
- phoneformat:这是一个Swift 4+库,旨在简化iOS项目的电话号码格式
- Stringz是一款轻巧而功能强大的编辑器,可轻松快速地翻译您的iOS应用。-Swift开发
- Tabs URLs in current window (Wayl Assured)-crx插件
- 像素编辑器
- PyPI 官网下载 | simple-pid-1.0.1.tar.gz
- python官方3.9.0b5-amd64版本exe安装包
- node-feed-thumbnailer:一个基本的应用程序,用于从YAML文件中获取图像网址列表,并将其压缩并用作静态文件
- Whatfix for Creditkarma-crx插件
- flexible_pipeline
- scalene:Scalene:用于Python的高性能,高精度CPU和内存分析器
- pychetlabeller:一个基于python的图像标注标签工具箱。 该程序允许用户注释图像中的单个对象
- dagitty:结构因果模型的图形分析图形因果模型
- Kjunzhi.rar_数学计算_matlab_
- javascript-challenge
- nasa-image-search:使用Nasa Image数据库的简单搜索应用程序