自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YourBatman

专注Java领域分享、成长,拒绝浅尝辄止。公众号搜索:BAT的乌托邦

原创 [享学Jackson] 十七、spring-web整合Jackson源码解析之Jackson2ObjectMapperBuilder

上一篇文章介绍了`Jackson`在`Spring MVC`中的使用,并且在**应用层面**重点讲述了它对新、老时间类型的处理表现,理论上对你实际工作会有不小帮助。 你可能对它的原理也会感兴趣,从本篇文章开始将用几篇文章的篇幅,从原理、源码层面进一步阐述`spring-web`对`Jackson...

2020-01-30 19:27:53 2021 0

原创 [享学Jackson] 十六、Jackson在Spring MVC中的使用之Date、JSR310时间类型的处理

由于我们很少(并不代表没有)单独去使用Jackson库,所以从此篇文章开始聚焦于更具有实践意义的场景:Jackson在Spring生态下的运用。 虽然现在`Spring Boot`非常流行,但我并不会一上来就向大家介绍更加工程化的它。因为`Spring Boot`仍还是构建在Spring之上的应...

2020-01-25 23:18:59 1875 0

原创 [享学Jackson] 十五、第三方模块Module的深度实践:JavaTimeModule、JSR310Module、ParameterNamesModule、Jdk8Module

本专栏的第一篇文章就概括性的介绍了Jackson繁荣的生态:除了三大核心模块之外还存在非常多的第三方模块来为`Jackson`附加提供强大的能力。有官方主导维护的模块,当然也有第三方社区自主维护的Module。 上篇文章讲解了Jackson对模块的管理和运行原理,那么本文将站在实用的角度,选取三...

2020-01-24 16:17:28 2093 0

原创 [享学Jackson] 十四、深入理解Jackson的Module模块化设计及原理分析

模块化定义:解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。它一般有如下特点: - 可被管理 - 可插拔 - 工作模式具有一定独立性、隔离性 - **可以有依赖模块** 模块化,对于我们程序员来说是一个既熟悉又陌生的概念,比如`Java 9`最大的一个F...

2020-01-21 17:48:22 1720 0

原创 [享学Jackson] 十三、jackson-annotation注解模块全解析及Jackson注解大全

`Jackson`之所以流行得益于它强大的模块化设计,以及它提供的强大能力。而支撑它强大能力的很大一部分原因是得益于它完善的注解模块:**它提供了非常多的注解,可以让你在运行期“个性化控制”你的序列化/反序列化行为,从而具有非常高的弹性**。 前面花了好几篇文章大篇幅介绍`Jackson`的`F...

2020-01-20 21:31:13 1759 6

原创 [享学Jackson] 十二、jackson-databind反序列化之ObjectMapper反序列化原理、JsonDeserializer反序列化器全解析

前面两篇文章花大篇幅介绍了序列化、序列化器以及`ObjectMapper`序列化的原理,相信认真品读过的你对序列化/反序列化方面已经有比较全面的认识了。 本篇文章作为前两篇的**姊妹篇**,将介绍反序列化、`JsonDeserializer`反序列化器的相关内容。该文不会像前两篇讲述得那么详细,...

2020-01-19 20:31:23 1935 0

原创 [享学Jackson] 十一、jackson-databind之JsonSerializer序列化器全解析

序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程。 该概念可以理解为如下两个两点: - 在序列化期间,对象将其当前状态写入到**临时或持久性存储区**(内存or硬盘) - 以后,可以通过从存储区中读取或反序列化对象的状态,**重新创建该对象** ...

2020-01-14 17:41:23 1443 0

原创 [享学Jackson] 十、jackson-databind序列化之ObjectMapper序列化原理、序列化器匹配原理

序列化/反序列作高层API的核心概念,重要程度可见一斑。但是关于序列化/反序列化是什么,大多数小伙伴其实停留在概念阶段,并不知其内幕。 > 说明:本文讨论的序列化/反序列化自然是是关注JSON方面的 学习本专栏定位,就是要把自己放在专业人士的位置,要能实现Jackson的高级定制。而若想具...

2020-01-13 21:41:47 2910 0

原创 [享学Jackson] 九、jackson-databind数据绑定序列化/反序列化配置之SerializationConfig、DeserializationConfig

说到JSON库,必然离不开序列化和反序列的概念。上篇文章已经介绍了解了数据绑定的基础配置,本篇将继续讲解更加偏向于实战的:序列化/反序列化配置之`SerializationConfig、DeserializationConfig`。 小提示:因为文章内容的讲述是按顺序的,因此建议看本文之前确保已...

2020-01-05 23:05:21 1414 0

原创 [享学Jackson] 八、jackson-databind数据绑定基础配置之BaseSettings、MapperConfig、MapperConfigBase

通过前几篇文章的描述,我们了解到了Jackson它在各个层次上的Feature特征的含义,甚至实现的原理。从本文开始,将从实战出发,去看看如何运用到这么多特征配置,并且如何定制和配置他们。 Jackson的底层流式API逻辑上相对简单,并且就刚刚在上篇文章以`JsonFactory`为例详细介绍了...

2020-01-05 16:48:45 1494 0

原创 [享学Jackson] 七、Jackson使用bit位运算来开启/禁用Feature的原理解析

前面几篇文章介绍了Jackson库针对不同层次提供的多个Feature特征,这些特征能让使用者可以在不需要理解内部实现的情况下,控制/参与到JSON内部读/写规则。 Feature是Jackson库非常重要的一个概念,**它是使用者和JSON续写规则打交道的窗户** 。作为单纯的使用者来说,其实...

2020-01-04 21:50:34 1231 0

原创 聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】

提及位运算,相信对绝大多数Java程序员是感觉既陌生又熟悉的。陌生是因为你大概率没有去真实的使用过,熟悉是有时在看些开源框架(或者JDK源码)时会时长看到有使用的地方(譬如Jackson/Fastjson这些JSON库都大量的使用了位运算)。 当然,不能“流行”起来是有原因的:不好理解,不符合人...

2020-01-04 02:18:08 1881 11

原创 [享学Jackson] 六、控制Jackson行为的特征们之MapperFeature、SerializationFeature、DeserializationFeature

Jackson工具库之所以流行,绝不是因为它有很高的性能表现,而是它拥有更好用的API:高层API。正所谓能够流行开来的技术一定是不太需要动脑子的,否则它不可能流行起来。在Jackson里,`ObjectMapper/JsonMapper`就承担了这样的角色,它甚至被称为和用户打交道的"...

2020-01-02 22:57:52 1956 0

提示
确定要删除当前文章?
取消 删除