第一步:自创建StringToDateConverter.java类,实现Converter转换接口,重写convert()方法。
import org.springframework.core.convert.converter.Converter; 接口
/**
* 自定义格式转换器
* **/
public class StringToDateConverter implements Converter<String,Date> {
private String dataPattern;
public StringToDateConverter(String dataPattern){
this.dataPattern = dataPattern;
}
@Override
public Date convert(String s) {
Date date = null;
try {
date = new SimpleDateFormat(dataPattern).parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
第二步:装配自定义转换器
在配置文件配置:
<!-- 配置扫描注解的包 -->
<context:component-scan base-package="cn.kgc.controller,cn.kgc.pojo" />
<!-- 自定义格式转换器 -->
<bean id="myConversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<!--引入多个自定义的转换器-->
<property name="converters">
<list>
<!--引入自定义的StringToDateConverter转换器-->
<bean class="cn.kgc.util.StringToDateConverter">
<!--构造注入字符串日期格式-->
<constructor-arg type="java.lang.String" value="yyyy-MM-dd"/>
</bean>
</list>
</property>
</bean>
<mvc:annotation-driven conversion-service="myConversionService">
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<!--设置消息处理器的编码格式-->
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
conversion-service="myConversionService,指定自定义转换器覆盖默认的转换器,
就不需要在javaBean日期属性上用@DateTimeFormat(pattern = “yyyy-MM-dd”)注解了