java8日期类型属性指定格式序列化全局配置及特殊序列化

createh55个月前 (12-27)技术教程76

简述

在springboot web日常开发中,若属性直接用的日期类型,势必会涉及到日期属性的格式化,如统一返回此种格式 yyyy-MM-dd HH:mm:ss给前端,前端也以这种格式传入日期属性值到后端。

当然你可以每个日期属性都用注解com.fasterxml.jackson.annotation.JsonFormat指定格式;但若可以全局配置,不也更是友好么。下面就给大家展示一下全局配置。

项目配置

springboot 2.3.4.RELEASE、mybatis-plus-3.5.0、MySQL

实践

全局配置有配置文件和配置类两种方式;

第一种配置文件:

新建实体类UserPO.java

public class UserPO {
    @TableId
    private Integer id;
    @TableField(value = "username")
    private String username3;
    private Integer age;
    private LocalDateTime updateDateTime;
    private LocalDate updateDate;
    private LocalTime updateTime;
    private Date dateTime;
}

修改application.yml配置文件

spring:
  jackson:
    time-zone: GMT+8 #可选
    date-format: yyyy-MM-dd HH:mm:ss #必须

启动项目查看结果,除了LocalDateTime类型,其它三个符合预期:

注意:

第二种 配置类:

删掉配置文件的配置,在启动类重定义ObjectMapper的bean

查看结果:

so,通过以上实践,我建议统一使用java配置类的方式,通杀!!!

OK,感觉文章还不错,可以点赞关注!

相关文章

Java 8时间类,越用越香 java中时间用什么类型

为什么会在Jdk8中加入很多时间类非线程安全java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。Date date = new Date(); fo...

详细介绍一下Spring Boot中对于日期时间数据类型的处理?

时间和日期处理是在日常开发工作中比较重要的一个处理操作,在SpringBoot应用程序中,对于时间和日期的处理涉及到了程序处理的各个方面的内容,包括了对于数据库中的时间日期的存储、如何接受接口中传入的...

Java格式化日期,时间(三种方法,建议收藏

1.String.format()在java中String类格式化的方法,是静态format()用于创建格式化的字符串。format(String format, Object... args) 新字...

侠说java8-LocalDateTime等时间使用手册(全),先mark后看

前言java8的时间日期api给我们提供了极大的便利。如何更好的熟悉使用时间api也是学习java8的一个很重要的知识点,下面我们一起来学习学习。本篇文章代码比较多,可以作为工具,需要使用时,再来查阅...

java获取当前时间的四种方法代码实例

这篇文章主要介绍了java获取当前时间的四种方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下第一种:Date类public class D...