类型转换可以说是一个框架的基础性功能,struts2,mybatis等开源软件都有自己的类型转换模块,之所以将类型转换作为Spring源码架构分析系列博客的第一篇,是因为我觉得这个模块在Spring众多模块中是处于最底层的,它只被其它模块引用,而不存在对其它模块的依赖,柿子找软的捏,我们就拿它祭旗吧~~。
先上一张鸟瞰图,总体结构是不是很简单,TypeConverter是对外提供服务的接口,其内部主要由两部分组成,分别是类型转换服务和类型转换器。
一. 先介绍类型转换器相关的重要接口
1. 转换器接口
该接口很简单,就定义了一个方法,把对象从源类型转换成目标类型。在Spring3.1.0版本中具体的实现类就很多了,如下面的转换器用于把字符串转换成布尔类型.
StringToBooleanConverter implements Converter<String, Boolean>
这个接口的作用是为了减少转换器个数,减少冗余代码。接口