- ConversionService是Spring类型转换体系的核心接口。
- 可以利用ConversionSeviceFactoryBean在Spring的IOC容器中定义ConversionService.Spring将自动识别出IOC容器中的ConversionService,并在Bean属性配置及Spring MVC处理方法入参绑定等场合使用它进行数据的转换
- 可通过ConversionServiceFactoryBean的converters属性注册自定义的类型转换器
Spring支持的转换器
- Spring定义了3中类型的转换器接口,实现任意一个转换器接口都可以作为自定义转换器注册到ConversionServiceFactoryBean中:
- Converter<S,T>:将S类型对象转为T类型对象
- ConverterFactory:将相同系列多个“同质”Converter封装在一起。如果希望将一种类型的对象转换为另一种类型及其子类的对象(例如将String转换为Number及Number子类(Integer、Long、Double等)对象)可使用该转换器工厂类
- GenericConverter:会根据源类对象及目标类对象所在的宿主类中的上下文信息进行类型转换
自定义转换器示例
- <mvc:annotation-driven conversion-service = “conversionService”/>会将自定义的ConversionService注册到Spring MVC的上下文中
演示:
第一步:写一个表单,用一个text直接接收一个字符串,使其转化为一个类
<form action="testConversionServiceConverer" method="post">
<!--lastname-email-gender-department.id 例如:GG-gg@atguigu.com-0-105-->
Employee:<input type="text" name="employee"/>
<input type="submit" value="Submit"/>
</form>
第二步:新建一个包com.springmvc.test ,创建一个SpringMVCTest.java,写好相应的方法
SpringMVCTest.java
package com.springmvc.test;
import com.springmvc