对属性对象的输入/输出进行格式化,从本质上讲属于类型转换的范畴。
-Spring在格式化模块中定义了一个实现ConversionService接口的FormattingConversionService实现类,该实现类扩展了GenericConversionService,因此它具有类型转换的功能又具有格式化的功能。FormattingConversionService拥有一个FormattingConversionServiceFactoryBean的工厂类,后者用于在Spring中产生前者。
FormattingConversionServiceFactoryBean内部已经注册了:
-NumberFormatAnnotationFormatterFactory:支持对数字类型的属性使用@NumberFormat注解
-JodaDateTimeFormatAnnotationFormatterFactory:支持对日期类型的属性使用@DateTimeFormat注解
装配了FormattingConversionServiceFactoryBean之后,就可以在SpringMvc入参绑定及模型数据输出的时候使用注解驱动了,<mvc:annotation-driven/>默认创建的ConversionService实例即为FormattingConversionServiceFactoryBean。如下: