springboot Jackson全局配置过程

 更新时间:2026年05月27日 14:12:10   作者:小花卷的dad  
SpringBoot Jackson 全局配置详解,介绍如何针对单个对象属性、配置文件及自定义 ObjectMapper 进行序列化规则的配置

springboot Jackson全局配置

springboot默认使用Jackson对请求载体进行反序列化和对响应数据进行序列化,那么,在序列化过程中,当我们希望加入一些特定规则时,spring-boot提供了几种解决方案,如下。

使用Jackson注解

可针对单个对象的某个属性配置特定的序列化规则

例如:

    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private Date createDate;

使用配置文件,可全局的配置特定的序列化规则

例如:

spring:
  jackson:
    date-format: yyyy-MM-dd hh:mm:ss

注入自定义的ObjectMapper

覆盖默认的OjectMapper,可全局的配置特定的序列化规则

例如:

    @Bean
    public ObjectMapper objectMapper(){
        ObjectMapper objectMapper = new ObjectMapper();
        //日期格式
        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
        //设置时区
        objectMapper.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
        //序列化-忽略null值的属性
        objectMapper.setSerializationInclusion(Include.NON_NULL);
        //序列化-允许序列化空对象
        objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
        //反序列化-在遇到未知属性的时候不抛出异常
        objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
        return objectMapper;
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot实现网络限速的方法详解

    SpringBoot实现网络限速的方法详解

    这篇文章主要为大家详细介绍了Spring Boot 3 中实现多维度网络带宽限速的完整方案,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
    2026-01-01
  • Spring学习通过AspectJ注解方式实现AOP操作

    Spring学习通过AspectJ注解方式实现AOP操作

    这篇文章主要为大家介绍了Spring学习通过AspectJ注解方式实现AOP操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java Mybatis框架增删查改与核心配置详解流程与用法

    Java Mybatis框架增删查改与核心配置详解流程与用法

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录
    2021-10-10
  • Java中可变长度参数代码详解

    Java中可变长度参数代码详解

    这篇文章主要介绍了Java中可变长度参数代码详解,涉及了实参个数可变的定义方法,数组包裹实参等几个问题,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Java实战之利用POI生成Excel图表

    Java实战之利用POI生成Excel图表

    Apache POI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的可以参考下
    2025-02-02
  • Java 中Object的wait() notify() notifyAll()方法使用

    Java 中Object的wait() notify() notifyAll()方法使用

    这篇文章主要介绍了Java 中Object的wait() notify() notifyAll()方法使用的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java泛型类、重构的使用及说明

    Java泛型类、重构的使用及说明

    文章介绍了泛型类和重构的概念、原理和应用,泛型类是一种参数化类型,可以操作不同数据类型,而重构是通过对已有代码进行修改,改善其设计、结构和可读性的过程,重构可以帮助提高代码质量、简化理解与调试、优化性能、改进设计、提高团队协作并扩展功能
    2025-11-11
  • 第一次编写Java流布局图形界面

    第一次编写Java流布局图形界面

    这篇文章主要为大家详细介绍了第一次编写Java流布局图形界面的相关代码,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Eclipse中Debug时鼠标悬停不能查看变量值解决办法

    Eclipse中Debug时鼠标悬停不能查看变量值解决办法

    这篇文章主要介绍了Eclipse中Debug时鼠标悬停不能查看变量值解决办法,以及分享了一个简单补全代码的方法,还是比较不错的,需要的朋友可以参考下。
    2017-11-11
  • java异常:异常处理--try-catch结构详解

    java异常:异常处理--try-catch结构详解

    今天小编就为大家分享一篇关于Java异常处理之try...catch...finally详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-09-09

最新评论