spring boot如何配置全局日期类型转换器(代码)
程序员文章站
2022-04-13 18:04:58
...
本篇文章给大家带来的内容是关于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());//添加自定义的类型转换器 } } }
相关推荐:
以上就是spring boot如何配置全局日期类型转换器(代码)的详细内容,更多请关注其它相关文章!