SpringBoot2.x系列教程(十五)SpringBoot Jackson属性配置详解
在SpringBoot中使用Jackson,Spring Boot默认提供了一套初始化配置,同时也提供了可通过application配置文件进行配置的项目。
通过这些配置项,可更加方便的进行Json转化的配置。其实,Spring Boot针对内置的几种Json框架都有相应的配置,比如GSON和JSON-B的。本篇文章重点解析Spring Boot默认使用Jackson的属性配置。
对应配置配置定义在JacksonProperties类中。部分源代码如下:
@ConfigurationProperties(prefix = "spring.jackson") public class JacksonProperties { private String dateFormat; private String jodaDateTimeFormat; private String propertyNamingStrategy; // ... }
也就是说,针对Jackson在application中配置,均以spring.jackson为前缀。而具体的配置属性定义在类内部。
下面我们看具体的定义及作用的样例。
# 日期格式字符串或标准日期格式类全限定名,只控制java.util.Date的序列化format spring.jackson.date-format= yyyy-MM-dd HH:mm:ss # 指定Joda date/time的格式,比如yyyy-MM-ddHH:mm:ss. 如果没有配置的话,dateformat会作为backup。 spring.jackson.joda-date-time-format= yyyy-MM-dd HH:mm:ss # 全局设置pojo或被@JsonInclude注解的属性的序列化方式 spring.jackson.default-property-inclusion= NON_NULL # 不为空的属性才会序列化,具体属性可看JsonInclude.Include # 是否开启Jackson的序列化 # 示例:spring.jackson.serialization.indent-output= true spring.jackson.serialization.*= # 是否开启Jackson的反序列化 spring.jackson.deserialization.*= # 是否开启json的generators # 示例:spring.jackson.generator.auto-close-json-content=true spring.jackson.generator.*= # 指定json使用的Locale spring.jackson.locale= zh # 是否开启Jackson通用的特性 spring.jackson.mapper.*= # 是否开启jackson的parser特性 spring.jackson.parser.*= # 指定Json策略模式 spring.jackson.property-naming-strategy=com.fasterxml.jackson.databind.PropertyNamingStrategy.UpperCamelCaseStrategy # 或 spring.jackson.property-naming-strategy=UPPER_CAMEL_CASE # 是否开启Jackson的反序列化 spring.jackson.serialization.*= # 指定日期格式化时区,比如America/Los_Angeles或者GMT+10 spring.jackson.time-zone= GMT+8
通过application配置完注解之后,会在符合条件的地方自动生效。关于具体使用的示例我们就不再赘述,可参看对照前些章节的具体实例。
Spring技术视频
CSDN学院:《Spring Boot 视频教程全家桶》
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2020/01/03/springboot2-x-springboot-jackson/