博客
关于我
28-springMvc注解开发-类型转换器
阅读量:243 次
发布时间:2019-03-01

本文共 2213 字,大约阅读时间需要 7 分钟。

文章目录

实现数据类型转换

1 Converter接口

@FunctionalInterfacepublic interface Converter
{ /** 提供类型转换的逻辑 */ @Nullable T convert(S source);}

2 案例

之前通过InitBinder和DateTimeFormat注解实现过字符串转date,现在也可以通过Converter实现该功能

package study.wyy.springboot.anno.web.convert;import org.springframework.core.convert.converter.Converter;import org.springframework.stereotype.Component;import org.springframework.util.StringUtils;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;/** * @author by wyaoyao * @Description * @Date 2021/2/15 7:49 下午 */@Componentpublic class String2DateConverter implements Converter
{ @Override public Date convert(String source) { if (StringUtils.isEmpty(source)) { throw new NullPointerException("Source can not be null!"); } try { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); return format.parse(source); } catch (Exception e) { e.printStackTrace(); } return null; }}

注册

package study.wyy.springboot.anno.web.advice;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.convert.ConversionService;import org.springframework.core.convert.converter.Converter;import org.springframework.core.convert.support.GenericConversionService;import org.springframework.format.datetime.DateFormatter;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.InitBinder;@ControllerAdvicepublic class DataFormatAdvice {    @Autowired    private Converter
stringToDateConverter; @InitBinder public void dateBinder(WebDataBinder dataBinder) { ConversionService conversionService = dataBinder.getConversionService(); if (conversionService instanceof GenericConversionService) { GenericConversionService genericConversionService = (GenericConversionService) conversionService; genericConversionService.addConverter(stringToDateConverter); } }}

转载地址:http://msrv.baihongyu.com/

你可能感兴趣的文章
protostuff简单应用
查看>>
PRover 开源项目教程
查看>>
PyTorch-Tutorials【pytorch官方教程中英文详解】- 4 Transforms
查看>>
Proxy server 緩存 jsp html
查看>>
Proxy 和 Reflect 结合实现代理和拦截( 代码示例 )
查看>>
PyTorch-Tutorials【pytorch官方教程中英文详解】- 3 Datasets&DataLoaders
查看>>
ProxySQL+MHA搭建MySQL读写分离高可用集群
查看>>
Proxy源代码分析--谈谈如何学习linux网络编程
查看>>
pr录制自己声音杂音很重
查看>>
PyTorch-Tutorials【pytorch官方教程中英文详解】- 2 Tensors
查看>>
ps ww
查看>>
PS —— 制作喷漆人像
查看>>
PS —— 制作证件照
查看>>
PS —— 精修图像
查看>>
PS 图像调整算法——色调分离
查看>>
ps 图层混合模式
查看>>
ps2025下载安装教程(附安装包)ps2025超详细安装教程
查看>>
PSGSuite 项目推荐
查看>>
PSR PHP业界规范
查看>>
psv黑商店pkgj最新版下载_黑科技p图app下载-黑科技p图最新版下载v1.0.0
查看>>