Spring Boot 配置Java8 日期全局格式化

说明

Spring Boot 提供了 spring.jackson.date-format配置可以让我们进行日期格式化,
但它只能格式化 java.util.Date。

解决方案:

定义一个配置类,在配置类注入两个 Bean 实现日期全局格式化,同时还兼顾了 Date 和 LocalDateTime 并存。

application.properties

# 全局日期格式化配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

LocalDateTimeSerializerConfig

/**
 * JDK8 日期全局格式化
 *
 * @author MoCha
 * @date 2019/9/7
 */
@Configuration
public class LocalDateTimeSerializerConfig {
    @Value("${spring.jackson.date-format}")
    private String pattern;

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
    }

    @Bean
    public LocalDateTimeSerializer localDateTimeSerializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }
}

效果

未格式化前
在这里插入图片描述

格式化后
在这里插入图片描述

自定义输出格式

/**
 * 注册时间
 */
@TableField("create_time")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime createTime;

你可能感兴趣的:(Spring,Boot,Java进化之旅)