合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## 概述 只要页面提交的数据都是字符串类型的.但是封装的时候都变成了我们想要的数据类型.但是有些数据不能封装为我们想要的类型. ## 需要实现的接口 所有类型转换都要实现这个接口 ~~~ package org.springframework.core.convert.converter; import org.springframework.lang.Nullable; @FunctionalInterface public interface Converter<S, T> { //S是源类型,T是目标类型 @Nullable T convert(S var1); } ~~~ ## 自定义转换器 ~~~ package com.like.utils; import org.springframework.core.convert.converter.Converter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class StringtoDateConverter implements Converter<String, Date> { @Override public Date convert(String s) { if (s == null) { throw new RuntimeException("请您传入数据"); } try { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); return df.parse(s); } catch (ParseException e) { throw new RuntimeException("数据转换出现错误"); } } } ~~~ ## 配置 ~~~ <!--自定义类型转换器--> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.like.utils.StringToDateConverter"/> </set> </property> </bean> <!--开启springMVC注解支持--> <mvc:annotation-driven conversion-service="conversionService"/> ~~~ ![](https://box.kancloud.cn/03c6fff07ad6a80e0f392a1899767a86_1822x244.png) 结果: ``` User{username='jack', age=20, date=Tue Mar 10 00:00:00 CST 1992} ```