SpringMVC之自定义类型转换器
应用场景:
其中的一种应用分析:
比如我们在接收前端传来的日期的时候是字符串类型的,但实际上我们需要的是一个日期(Date)类型的数据去封装到相应的实体类中。此时我们应该去想有没有一种一劳永逸的东西可以以后在碰到此类情况的时候自动进行相应的类型转换,此时就应该轮到自定义类型转换器的出场了
自定义类型转换器的开发步骤:
1. 定义根据需求所需要的转换器实现Converter接口
我们注意到在实现接口的时候有两个泛型
第一个泛型: 要被转换的类型
第二个类型: 要转成的类型
public class DateConverter implements Converter<String, Date> {
@Override
public Date convert(String s) {
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
2. 在配置文件中声明转换器
<!--声明日期转换器-->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.duanping.converter.DateConverter"></bean>
</list>
</property>
</bean>
3. 在annotation-driven中引用转换器
<!--加载注解驱动,引用转换器 -->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>