一、JacksonProperties
JacksonProperties是一个用@ConfigurationProperties(prefix=“spring.jackson”)注解修饰的类,所以可以通过以spring.jackson为前缀的配置去赋值。
JacksonAutoConfiguration会通过Jackson2ObjectMapperBuilderCustomizer实现类根据JacksonProperties中的属性对初始化Jackson2ObjectMapperBuilder, 其中就是包括日期相关的属性,例如:
spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8serialization:write-date-keys-as-timestamps: false # 日期为key是否以时间戳输出write-dates-as-timestamps: false #是否将日期以时间戳输出
二、Jackson2ObjectMapperBuilderCustomizer
Jackson2ObjectMapperBuilder的回调接口,可以以自动装配的方式实现自定义的ObjectMapper。如果JacksonProperties仍无法满足自定义场景要求,可以考虑通过这个接口进行实现。
三、Date的Serializer
Date的Serializer默认是com.fasterxml.jackson.databind.ser.std.DateSerializer,由BasicSerializerFactory加载,但是可以通过Jackson2ObjectMapperBuilder.serializers()方法进行自定义。