Jackson:jackson在Spring boot下的自动配置原理

jackson目前在Spring体系下主要是做messageConverter,也就是Restful请求进入微服务的反序列化,服务内部发出请求的序列化过程转换器。

Springboot的autoConfigure包下有两个相关的自动配置类:JacksonAutoConfiguration和HttpMessageConvertersAutoConfiguration(JacksonHttpMessageConvertersConfiguration,GsonHttpMessageConvertersConfiguration,JsonbHttpMessageConvertersConfiguration)【也就是String、json、gosn、jsonb(jsonb格式是json的二进制形式,二者的区别在于json写入快,读取慢,jsonb写入慢,读取快)】

至此,Springboot的json相关内容浮出水面了,如下

Jackson:jackson在Spring boot下的自动配置原理

结合以上Springboot机制,我们可以掌握到微服务中如何将自定义的序列化机制运用到实际运行过程中。

  1. 直接发布ObjectMapper【最直接,将完全替换序列化器】
  2. 发布Jackson2ObjectMapperBuilder【与第一种方式无异,ObjectMapper的构造器】
  3. 发布Jackson2ObjectMapperBuilderCustomizer【仅以嵌入式的方式将自定义配置加入,不会完全封住更改的钩子,基础库目前实现】