原文出自:http://cmsblogs.com
作者:作者:chenssy
在上篇文章中小编分析了 Spring ConversionService 类型转换体系,相信各位都对其有了一个清晰的认识,这篇博客将利用 ConversionService 体系来实现自己的类型转换器。
ConversionService 是 Spring 类型转换器体系中的核心接口,它定义了是否可以完成转换(canConvert()) 与 类型转换(convert())两类接口。ConversionService 有三个子类,每个子类针对不同的类型转换:
- Converter
:将 S 类型对象转为 T 类型对象。 - GenericConverter:会根据源类对象及目标类对象所在的宿主类中的上下文信息进行类型转换。
- ConverterFactory:将相同系列多个 “同质” Converter 封装在一起。如果希望将一种类型的对象转换为另一种类型及其子类的对象(例如将 String 转换为 Number 及 Number 子类(Integer、Long、Double 等)对象)可使用该转换器工厂类。
如何自定义类型转换器?分两步走:
- 实现 Converter / GenericConverter / ConverterFactory 接口