码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot 配置全局日期类型转换器

时间:2018-09-14 17:17:41      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:add   rri   edit   exce   void   ice   boot   convert   extends   

  • 首先自定义一个类型转换器
  • 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日"};br/>@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());//添加自定义的类型转换器
        }
    }

    }

    spring boot 配置全局日期类型转换器

    标签:add   rri   edit   exce   void   ice   boot   convert   extends   

    原文地址:http://blog.51cto.com/13963665/2175277

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!