1、数据格式化概述
- 对属性对象的输入/输出进行格式化,从其本质上讲依然属于 “类型转换” 的范畴。
- Spring 在格式化模块中定义了一个实现 ConversionService 接口的
FormattingConversionService 实现类,该实现类扩展了 GenericConversionService,因此它既具有类型转换的功能,又具有格式化的功能 - FormattingConversionService 拥有一个FormattingConversionServiceFactroyBean 工厂类,后者用于在 Spring 上下文中构造前者,FormattingConversionServiceFactroyBean 内部已经注册了 :
- NumberFormatAnnotationFormatterFactroy:支持对数字类型的属性使用
@NumberFormat 注解 - JodaDateTimeFormatAnnotationFormatterFactroy:支持对日期类型的属性使用
@DateTimeFormat 注解
- NumberFormatAnnotationFormatterFactroy:支持对数字类型的属性使用
- 装配了 FormattingConversionServiceFactroyBean 后,就可以在 Spring MVC 入参绑定及模型数据输出时使用注解驱动了。
- 此时
<mvc:annotation-driven/>
默认创建的 ConversionService 实例即为DefaultFormattingConversionService
- 此时
2、日期格式化概述
- @DateTimeFormat 注解可对 java.util.Date、java.util.Calendar、java.long.Long 时间类型进行