疑问

在前端传到后端的是字符串,但在后端接口接收到的结果可以自动进行类型转换,将字符串类型转换为各种类型,说明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自定义类型转换相关推荐

  1. SpringMVC自定义拦截器与异常处理(自定义异常)

    SpringMVC自定义拦截器与异常处理 拦截器概念 拦截器代码演示 创建maven工程 pom.xml <?xml version="1.0" encoding=" ...

  2. springmvc自定义参数解析器/类型转换器

    概述 有些时候我们需要对GET请求的入参做自定义的处理,比较常见的就是字符串反序列化时间类型了,常用的像@DateTimeFormat注解,但是这需要在每个入参的属性上都加上这个注解,比较费手,那么我 ...

  3. SpringMVC——自定义拦截器、异常处理以及父子容器配置

    SpringMVC--自定义拦截器.异常处理以及父子容器配置 参考文章: (1)SpringMVC--自定义拦截器.异常处理以及父子容器配置 (2)https://www.cnblogs.com/so ...

  4. 【.NET深呼吸】基础:自定义类型转换

    照例,老周在开始吹牛之前,先讲讲小故事,这是朋友提出的建议,老TMD写技术有什么了不起的,人人都会写.后来老周想想,也确实,代码谁不会写,能写到有品位有感悟,就不容易做到.于是,老周接受了该朋友的建议 ...

  5. C#构造函数、操作符重载以及自定义类型转换

    构造器 构造器(构造函数)是将类型的实例初始化的特殊方法.构造器可分为实例构造器和类型构造器,本节将详细介绍有关内容. 实例构造器 顾名思义,实例构造器的作用就是对类型的实例进行初始化.如果类没有显示 ...

  6. AutoMapper搬运工之自定义类型转换

    前言 最近还挺忙,还有点累,一直都没更新了,实在是懒呀.正题之前先说点别的,最近公司要扩张了,需要大量开发,领导说推荐有钱可以拿,如此好机会,我就趁机做个广告.ShippingRen.com招募.NE ...

  7. SpringMVC 之类型转换Converter 源代码分析

    SpringMVC 之类型转换Converter 源代码分析 最近研究SpringMVC的类型转换器,在以往我们需要 SpringMVC 为我们自动进行类型转换的时候都是用的PropertyEdito ...

  8. SpringMVC 之类型转换Converter详解转载

    SpringMVC之类型转换Converter详解 本文转载 http://www.tuicool.com/articles/uUjaum 1.1     目录 1.1      目录 1.2     ...

  9. SpringMVC自定义响应的HTTP状态码

    SpringMVC自定义响应的HTTP状态码有两种方法,一种是在返回方法上面加上@ResponseStatus注解,另一个种是在方法内部使用response.setStatus()方法. 注解方式: ...

  10. SpringMVC 日期类型转换

    全局日期类型转换配置 配置SpringMVC配置文件 <bean id="conversionService" class="org.springframework ...

最新文章

  1. Silverlight的企业应用
  2. ubuntu android设备 no permissions
  3. 移动端中如何检测设备方向的变化?
  4. 原生js获取document_原生JS常用API整理
  5. oracle dbms_crypto,DBMS_CRYPTO包对Oracle加密
  6. MYSQL中时间毫秒数转换及日期格式化
  7. Python九九乘法表(作业)
  8. 管理系统中的计算机应用答案,《管理系统中计算机应用》试卷答案
  9. 西部开源学习笔记BOOK2《vsftp服务》
  10. 计算机体系结构----指令流水线吞吐率、效率计算
  11. 产品读书《大数据时代:生活、工作与思维的大变革》
  12. 苹果电脑双系统虚拟机怎么安装?
  13. 基于物联网技术的校园智慧消防管理平台-Susie 周
  14. Go语言%d,%p,%v等占位符
  15. 怎么看懂晦涩难懂的书
  16. 斐波那契数列_菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。
  17. 安卓基础学习 Day 6|常用控件---列表视图+古诗查看
  18. 华为麒麟实现跨越式发展 原来背后高人指点
  19. z420开机无法进入BIOS,出现A9和光标
  20. 校园论坛(Java)—— 数据报表模块

热门文章

  1. 高性能的MySQL(8)优化服务器配置一安全与稳定
  2. nosql笔记1_早前的时候
  3. 命令行配置Windows SNMP服务
  4. 105.输出控制缓存
  5. 6.高级Magento模型EAV
  6. JVM调优总结(转载)
  7. C# 高效字符串连接 StringBuilder介绍
  8. Python2.X和Python3.X文件对话框、下拉列表的不同
  9. 【matlab】在图中插入矩形(框or阴影)
  10. 【解决办法】hosts文件被劫持或者看不到办法