java8日期类型属性指定格式序列化全局配置及特殊序列化
简述
在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,感觉文章还不错,可以点赞关注!