上篇文章我们介绍了在Spring Boot Web中Jackson的基本使用,当使用Jackson实现Json与Bean之间转换时,最主要的类便是Jackson的ObjectMapper。当使用Spring Boot时,会自动对该类进行初始化。本篇文章,我们一探究竟,并自定义ObjectMapper来实现相应的功能。
Spring Boot初始化ObjectMapper
在Spring Boot的自动配置JacksonAutoConfiguration中有这样的初始化代码:
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(Jackson2ObjectMapperBuilder.class)
static class JacksonObjectMapperConfiguration {
@Bean
@Primary
@ConditionalOnMissingBean
ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
return builder.createXmlMapper(false).build();
}
}
这段代码的基本操作就是当类路径下存在Jackson2ObjectMapperBuilder类时,该配置会自动实例化,而其内部的jackson