Spring MVC自定义类型转换器
程序员文章站
2022-07-12 19:40:36
...
前言
在Spring MVC体系结构中,有一个非常重要的一个组件那就是:类型转换器
在 类型转换器 中主要实现的工作。我们的数据都是通过表单进行提交的,但是在表单中其实又都是以字符串的形式进行传输,但是到了底层,我们是使用到更加详细的数据类型。比如:Integer
、Date
之类的数据类型。但我们会在快速入门Spring MVC。会发现,根本没有提到这个东西,因为Spring MVC框架已经帮我们写好了一部分,比如:String
变成了 Integer
。但有的时候,我们却往往不满足,我们还有更多的需求。比如:我们传入字符串2020-11-23
这是一个字符串,我们最终想要得到这样一个字符串显然不可能。因此,我们需要自定义类型转换器,配置一点内容即可。
自定义类型转换器步骤
- 实现Converter接口。使用泛型方式,更加方便
- 重新
convert
方法
**StringToDateConverter.java**
package utils;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateCoverter implements Converter<String, Date> {
@Override
public Date convert(String s) {
try {
return new SimpleDateFormat("yyyy-mm-dd").parse(s);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
- 给springmvc核心配置文件添加
ConversionServiceFactoryBean
Bean对象加入ioc容器
<bean class="org.springframework.context.support.ConversionServiceFactoryBean" id="conversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="utils.StringToDateCoverter"/>
</list>
</property>
</bean>
- 给springmvc注解,告知扩展了类型转换器
<!-- 开启springmvc注解 -->
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"/>
重新测试
上一篇: Spring 自定义类型转换器
推荐阅读
-
Spring MVC自定义日期类型转换器实例详解
-
HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】
-
HandlerMethodArgumentResolver(三):基于消息转换器的参数处理器【享学Spring MVC】
-
Spring MVC自定义数据绑定--HandlerMethodArgumentResolver
-
spring mvc 表单映射date类型字段的问题
-
Spring MVC之返回类型
-
Spring MVC自定义类型转换器
-
【Spring Boot学习总结】11.Web开发-自定义Spring MVC配置
-
Spring 自定义类型转换器
-
Spring MVC自定义类型转换器