springmvc自定义类型转换
疑问
在前端传到后端的是字符串,但在后端接口接收到的结果可以自动进行类型转换,将字符串类型转换为各种类型,说明Spring框架内部会默认进行数据类型转换。
双击shift找到Converter,ctrl+alt再用鼠标单击就会看到很多实现类,这些类很容易看出就是将不同类型的数据进行转换的。所以想自定义数据类型转换,可以实现Converter的接口。
1. 自定义类型转换器
package com.yzx.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> {/**** @param source* @return*/@Overridepublic Date convert(String source) {if (source == null && source.equals("")){throw new RuntimeException("您传入的参数为空.");}else {DateFormat format = new SimpleDateFormat("yyyy-MM-dd");try {return format.parse(source);} catch (Exception e) {throw new RuntimeException("数据转换出现错误。。。");}}}
}
2. 注册自定义类型转换器
定义出来了要将转换器注册到springioc才能生效。
<!-- 配置自己定义的类型转换器 --><bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean"><!-- 将自己定义的类型转换器加到converters集合中 --><property name="converters"><set><bean class="com.yzx.utils.StringToDateConverter"></bean></set></property></bean><!-- 开启注解支持 --><mvc:annotation-driven conversion-service="conversionServiceFactoryBean"></mvc:annotation-driven>
有一个类型转换工厂ConversionServiceFactoryBean,根据源码可知里面的set集合converters,这个set集合是存放这些转换器的。所以要将我们自己定义的转换器放到converters中。
springmvc自定义类型转换相关推荐
- SpringMVC自定义拦截器与异常处理(自定义异常)
SpringMVC自定义拦截器与异常处理 拦截器概念 拦截器代码演示 创建maven工程 pom.xml <?xml version="1.0" encoding=" ...
- springmvc自定义参数解析器/类型转换器
概述 有些时候我们需要对GET请求的入参做自定义的处理,比较常见的就是字符串反序列化时间类型了,常用的像@DateTimeFormat注解,但是这需要在每个入参的属性上都加上这个注解,比较费手,那么我 ...
- SpringMVC——自定义拦截器、异常处理以及父子容器配置
SpringMVC--自定义拦截器.异常处理以及父子容器配置 参考文章: (1)SpringMVC--自定义拦截器.异常处理以及父子容器配置 (2)https://www.cnblogs.com/so ...
- 【.NET深呼吸】基础:自定义类型转换
照例,老周在开始吹牛之前,先讲讲小故事,这是朋友提出的建议,老TMD写技术有什么了不起的,人人都会写.后来老周想想,也确实,代码谁不会写,能写到有品位有感悟,就不容易做到.于是,老周接受了该朋友的建议 ...
- C#构造函数、操作符重载以及自定义类型转换
构造器 构造器(构造函数)是将类型的实例初始化的特殊方法.构造器可分为实例构造器和类型构造器,本节将详细介绍有关内容. 实例构造器 顾名思义,实例构造器的作用就是对类型的实例进行初始化.如果类没有显示 ...
- AutoMapper搬运工之自定义类型转换
前言 最近还挺忙,还有点累,一直都没更新了,实在是懒呀.正题之前先说点别的,最近公司要扩张了,需要大量开发,领导说推荐有钱可以拿,如此好机会,我就趁机做个广告.ShippingRen.com招募.NE ...
- SpringMVC 之类型转换Converter 源代码分析
SpringMVC 之类型转换Converter 源代码分析 最近研究SpringMVC的类型转换器,在以往我们需要 SpringMVC 为我们自动进行类型转换的时候都是用的PropertyEdito ...
- SpringMVC 之类型转换Converter详解转载
SpringMVC之类型转换Converter详解 本文转载 http://www.tuicool.com/articles/uUjaum 1.1 目录 1.1 目录 1.2 ...
- SpringMVC自定义响应的HTTP状态码
SpringMVC自定义响应的HTTP状态码有两种方法,一种是在返回方法上面加上@ResponseStatus注解,另一个种是在方法内部使用response.setStatus()方法. 注解方式: ...
- SpringMVC 日期类型转换
全局日期类型转换配置 配置SpringMVC配置文件 <bean id="conversionService" class="org.springframework ...
最新文章
- Silverlight的企业应用
- ubuntu android设备 no permissions
- 移动端中如何检测设备方向的变化?
- 原生js获取document_原生JS常用API整理
- oracle dbms_crypto,DBMS_CRYPTO包对Oracle加密
- MYSQL中时间毫秒数转换及日期格式化
- Python九九乘法表(作业)
- 管理系统中的计算机应用答案,《管理系统中计算机应用》试卷答案
- 西部开源学习笔记BOOK2《vsftp服务》
- 计算机体系结构----指令流水线吞吐率、效率计算
- 产品读书《大数据时代:生活、工作与思维的大变革》
- 苹果电脑双系统虚拟机怎么安装?
- 基于物联网技术的校园智慧消防管理平台-Susie 周
- Go语言%d,%p,%v等占位符
- 怎么看懂晦涩难懂的书
- 斐波那契数列_菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。
- 安卓基础学习 Day 6|常用控件---列表视图+古诗查看
- 华为麒麟实现跨越式发展 原来背后高人指点
- z420开机无法进入BIOS,出现A9和光标
- 校园论坛(Java)—— 数据报表模块