我定义了 JavaTimeModule
:
@Bean public Module java8TimeModule() {
JavaTimeModule javaTimeModule = new JavaTimeModule();
return javaTimeModule;
}
但是,它不会使用默认的objectmapper注册自己 . 我正在使用jackson-databind-2.8.9.jar .
Eclipse IDE中 JavaTimeModule()
的在线帮助说:
请注意,从2.6开始,此模块不支持自动注册 .
不确定jackson-databind-2.8.9是否仍然是相同的情况导致 JavaTimeModule
没有注册默认的objectmapper .
我不想创建一个新的objectmapper . 和我以前尝试过的一样,我在创建的objectmapper中遇到了另一个问题 .
Springboot doc说:
定义类型为Jackson2ObjectMapperBuilder的@Bean将允许您自定义默认的ObjectMapper和XmlMapper .
但我找不到代码示例,也不确定如何做 .
如果我定义 Jackson2ObjectMapperBuilder
类型 @Bean
,它会替换默认值吗?它的后果是什么?以及如何从 Jackson2ObjectMapperBuilder
获取默认的objectmapper?
1 回答
我找到了一个关于如何在Jackson2ObjectMapperBuilder enable field visibility ANY自定义默认objectMapper的现有链接 .
我也在程序中发现了问题 . JavaTimeModule使用jackson-databind-2.8.9自动注册到默认的objectMapper . 我的程序中的问题是由使用新创建的objectMapper引起的 . 我应该使用@Autowired objectMapper的默认objectMapper .