• 技术文章 >Java >java教程

    spring boot如何配置全局日期类型转换器(代码)

    不言不言2018-09-14 16:28:48原创1832
    本篇文章给大家带来的内容是关于spring boot如何配置全局日期类型转换器(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    1. 首先自定义一个类型转换器

    import org.springframework.core.convert.converter.Converter;
    import org.springframework.stereotype.Component;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    @Component
    public class MyDataConvert implements Converter<String, Date> {
      //这里可以自己灵活变通
        private String [] pattern = {"yyyy-MM-dd","yyyy年MM月dd日"};
        @Override
        public Date convert(String s) {
            System.out.println("convert");
            for (int i=0;i<pattern.length;i++){
                try {
                    return  new SimpleDateFormat(pattern[i]).parse(s);
                } catch (ParseException e) {
                    continue;
                }
            }
            return null;
        }
    }

    2.在配置类中注册自定义类型转换器

    import com.example.demo.convert.MyDataConvert;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.convert.support.GenericConversionService;
    import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
    import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
    
    import javax.annotation.PostConstruct;
    
    @Configuration
    public class WebConfigurer extends WebMvcConfigurationSupport  {
    
        @Autowired
        private RequestMappingHandlerAdapter handlerAdapter;
    
        @PostConstruct
        public void initEditableAvlidation() {
    
            ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer)handlerAdapter.getWebBindingInitializer();
            if(initializer.getConversionService()!=null) {
                GenericConversionService genericConversionService = (GenericConversionService)initializer.getConversionService();
                genericConversionService.addConverter(new MyDataConvert());//添加自定义的类型转换器
            }
        }
    
    
    }

    相关推荐:

    mysql 查询 int类型日期转换成datetime类型

    以上就是spring boot如何配置全局日期类型转换器(代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:spring boot
    上一篇:子线程任务全部完成后主线程关闭的四种方法 下一篇:Java中的包装类是什么?Java包装类的应用场景介绍
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 用Spring Boot颠覆Java应用开发• Spring boot实现数据库读写分离的方法• 在Spring Boot中如何使用log4j记录日志详解• 详解Spring Boot JPA访问Mysql示例代码(图文)• 缓存机制中Spring Boot集成Redis的方法介绍
    1/1

    PHP中文网