一、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()方法進行自定義。