SpringBoot2.x系列教程(十一)Jackson之ObjectMapper使用详解

上篇文章我们介绍了在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类时,该配置会自动实例化,而其内部的jacksonObjectMapper会实例化一个ObjectMapper对象来处理Json与Bean的转换。

该方法上的@ConditionalOnMissingBean说明,当不存在ObjectMapper时便执行该方法的实例化的操作,也就是说会通过Jackson2ObjectMapperBuilder来创建一个ObjectMapper对象。

换句话说,我们自己如果自定义了ObjectMapper对象,那么上述代码便不会进行相应的自动化配置。

处理日期格式化

在这里我们对在上一篇文

猜你喜欢

转载自blog.csdn.net/wo541075754/article/details/103788077