我理解的SpringMVC之自定义类型转换器

前言

SpringMVC内部其实已经有了一些类型转换器,比如,我们前端发来了一个String类型的18.接收参数时我们使用int去接收,程序是不会报错的,其实这就是转换器的作用。虽然SpringMVC很好了,不过它也有迷茫的时候,比如,进来一个时间他就不知道应该以什么格式进行转换,此时我们就需要自己配置转换器。

开发步骤

1)自定义转换器实现Converter接口
2)在配置中声明转换器
3)在<mvc:annotation-driven >中引用转换器

编写转换器

此处写了一个时间类型的转换,将xxxx-xx-xx的字符串转为日期

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;

public class MyDateConverter implements Converter<String,Date>{

	@Override
	public Date convert(String dataStr) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
		try {
			return sdf.parse(dataStr);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
	}
}

声明转换器

	<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
		<property name="converters">
			<list>
				<bean class="myspringmvc.converter.MyDateConverter"></bean>
			</list>
		</property>
	</bean>

引用转换器

<mvc:annotation-driven conversion-service="conversionService" />

结束语

这个知识点倒不是特别重要,用得到情况比较少,如果使用到了写在这也方便查阅。

参考

https://www.bilibili.com/video/BV1WZ4y1P7Bp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值