先上代码:
import java.util.Date;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
@Configuration
public class WebConfig {
@Bean
public Converter<String, Date> dateConverter() {
// 转成lamda表达式有问题,可能jdk的bug
return new Converter<String, Date>() {
@Override
public Date convert(String source) {
if (StringUtils.isBlank(source)) return null; // 这行也可不要
try {
// 将项目中所有可能出现的日期格式按出现频率降序排列
return DateUtils.parseDate(source, "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM-dd",
"yyyy-MM", "yyyy/MM/dd", "yyyyMMddHHmmss", "yyyyMMdd");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
};
}
}
注:需要引入commons-lang3工具类
好处:不需要在每个Date类型的参数前加上@DateTimeFormat注解并标上格式了,有更好的兼容性。
该博客介绍了如何在Spring MVC中进行Date参数的全局通用配置,通过引入commons-lang3工具类,避免在每个Date类型参数上添加@DateTimeFormat注解,提高代码的兼容性和可维护性。

6911

被折叠的 条评论
为什么被折叠?



