SpringMVC 中的类型转换

SpringMVC 中的类型转换

官方文档:

注意:先有类型转换,然后才有数据绑定。

参考博客:

1. 揭秘Spring类型转换 - 框架设计的基石 - YourBatman - 博客园

2. Spring早期类型转换,基于PropertyEditor实现 - YourBatman - 博客园

3. 搞定收工,PropertyEditor就到这 - YourBatman - 博客园

4. 上新了Spring,全新一代类型转换机制 - YourBatman - 博客园

5. 穿过拥挤的人潮,Spring已为你制作好高级赛道 - YourBatman - 博客园

6. 抹平差异,统一类型转换服务ConversionService - YourBatman - 博客园

7. JDK拍了拍你:字符串拼接一定记得用MessageFormat#format - YourBatman - 博客园

8. 格式化器大一统 -- Spring的Formatter抽象 - YourBatman - 博客园

9. 细节见真章,Formatter注册中心的设计很讨巧 - YourBatman - 博客园

第一篇

formatter 接口强调的是格式化,因此实现此接口的时候,我们不仅要实现 A 到 B 类型的格式化,同时也要实现 B 到 A 的格式化

typeconverter 是 Spring 内部使用类型转换的入口,从 convertIfNecessary 这个方法名称就可以看出来。

typeconverter 内部委托给 propertyEditor 或者 conversionservice 实现

第二篇

第六篇

牛逼就牛逼在,

结合数据绑定之后,

这个 conversionService 是在 Controller 控制器方法的参数解析中自动使用的,是无感级别的使用,当我们自定义了 conversionService 之后,就可以直接在控制器方法中使用转换的目标类型的参数,非常牛逼。