Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

        

联系锋哥QQ:3320160706

AI编程,程序员挑战年入30~100万高级指南 - 职业规划

Java、Python项目定制找Java1234_小锋老师,专业又靠谱 QQ:3320160706

Java、Python毕设辅导找Java1234_小锋老师,专业又靠谱 QQ:3320160706
当前位置: 主页 > Java文档 > Java基础相关 >

为什么 SpringBoot 一直坚持用 Jackson 作为默认序列化库 ?


时间:2026-08-05 15:37来源:http://www.java1234.com 作者:小锋  侵权举报
为什么 SpringBoot 一直坚持用 Jackson 作为默认序列化库 ?
失效链接处理
为什么 SpringBoot 一直坚持用 Jackson 作为默认序列化库 ?

 
 
相关截图:
 


主要内容:


先说结论:默认不等于唯一
Jackson 长期以来都是 Spring Boot 首选和默认的 JSON 库,而不是唯一能用的库。Spring Boot 3 默认使用 Jackson 2,并自动创建 ObjectMapper;到了 Spring Boot 4,默认版本已经升级为 Jackson 3,核心入口也变成了不可变的 JsonMapper。名字和部分 API 虽然变了,但 Spring 对 Jackson 的选择没有变。
 
这不是因为 Jackson 在每一项测试里都必须拿第一,而是因为它在功能、性能、扩展能力、兼容性和社区生态之间,做到了很难得的平衡。对于一个通用 Web 框架来说,“整体稳妥”往往比“某个指标最快”更重要。

一次请求是怎样变成 JSON 的
Spring MVC 并不是在 Controller 里偷偷调用 Jackson。真正负责转换的是 HTTP 消息转换器:它拿到 Controller 返回的对象,找到合适的 JSON 映射器,再把结果写入 HTTP 响应。

反过来也一样:前端提交 JSON 时,Jackson 会把请求体转换成 Java 对象,然后再交给 Controller。开发者只需要关心业务对象,不必重复处理 JSON 字符串。
 
只要项目引入 Web Starter,通常就会间接得到 JSON Starter 和 Jackson。Spring Boot 还会根据类路径自动配置映射器、模块和消息转换器,这也是我们几乎“零配置就能用”的原因。




------分隔线----------------------------


锋哥推荐