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

createh56个月前 (12-27)技术教程109

简述

在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 LocalDateTime 一文详解FC和FB的区别与用法

逃离“时光旋涡” —— 从一次Date对象的“时区迷航”说起想象一下,你的项目正紧锣密鼓地推进,突然间,一个看似不起眼的日期处理任务,却引发了一场“完美风暴”。一个简单的任务需求:存储用户生日并按其所...

Java如何获取当前日期? java如何获取当前日期和时间

Talk is cheap, Show me the code. -- by: Linus Torvalds使用获取当时日期的方式如下:System.currentTimeMillis(); 获取当时...

SpringBoot中使用LocalDateTime踩坑记录

支持一对一答疑的购买地址前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目基于Jav...