一.自定义转换器
1.1 概述
spring mvc 默认提供了一些常用的类型转换器,例如典型的就是字符串转换成int型参数,但是不是所有的数据类型都提供了转换器,没有提供转换器需要自己定义。例如:日期类型的数据需要自定义转换器。
1.2 自定义类型转换器的开发步骤
1.定义转换器实现Converter接口
2.在配置文件中声明转换器
3.在<annotation-driven>中引用
二. 实操案例
1.controller代码
/**
* @param
* @return
*/
@RequestMapping("/bike10")
@ResponseBody
public String bike10(Date date){
System.out.println("date:"+date);
return "ok";
}
2.转换类
package com.ljf.spring.mvc.demo.convter;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @ClassName: DateConvter
* @Description: TODO
* @Author: liujianfu
* @Date: 2021/01/13 08:00:14
* @Version: V1.0
**/
public class DateConvter implements Converter<String, Date> {
@Override
public Date convert(String s) {
//将日期转换成日期对象
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
Date date=null;
try {
date=simpleDateFormat.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
3.配置声明器
-->
<!-- 配置声明转换器 -->
<bean id="cs" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.ljf.spring.mvc.demo.convter.DateConvter"></bean>
</list>
</property>
</bean>
<!-- spring mvc 的注解驱动-->
<mvc:annotation-driven conversion-service="cs"></mvc:annotation-driven>
4.重启访问