SpringBoot 中 WebMvcAutoConfiguration 对Date时间格式的默认配置以及修改
SpringBoot 中 WebMvcAutoConfiguration 对Date时间格式的默认配置以及修改
首先我们来到SpringBoot对WebMvc的自动配置类
在该配置类中 有一个内部类 WebMvcAutoConfigurationAdapter 这个类实现了WebMvcConfigurer接口 会对Mvc进行一些默认配置。
在这个类上,引入了另外一个内部类
跟踪到该类,
我们可以看到,这个类映射了WebProperties.class配置类以及继承了DelegatingWebMvcConfiguration这个类 在另一篇中提到过,这个类会为我们自动装配容器中所有的实现了WebMvcConfigure接口的配置类,并遍历他们,使其生效
再回到EnableWebMvcConfiguration这个内部类,
我们可以在其中看到这样一个方法,这个方法就是对Date类型的转换设置
看到第一行代码,这行代码的意思就是调用mvcProperties里的getFormate方法
点进去
我们可以以看到
配置文件对应的配置类,意味着我们可以在配置文件中修改这个配置类的值
在该配置类里我们也可以看到
静态的Format这个类
再回到先前的这个方法
在定义完Format对象后,又定义了一个WebConversionService,这个类是WebMvc中的数据转换类,并且传入了一个参数
newDateTimeFormatters().dateFormat(format.getDate()).timeFormat(format.getTime()).dateTimeFormat(format.getDateTime()));
这个参数的意思是
new了一个DateTimeFormatter对象,并调用其中的方法对时间格式进行设置
我们可以看到其中的一些默认设置 而调用的方法,就是
使用我们配置的Format参数或者使用默认的ISO__
最后把该对象通过调用DelegatingWebMvcConfiguration这个类中的方法注册到容器中
就完成了对日期格式的设置
本文地址:https://blog.csdn.net/kinginthen/article/details/110817242