首页 文章

使用springboot中的默认objectmapper注册JavaTimeModule

提问于
浏览
1

我定义了 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 回答

  • 2

    我找到了一个关于如何在Jackson2ObjectMapperBuilder enable field visibility ANY自定义默认objectMapper的现有链接 .

    我也在程序中发现了问题 . JavaTimeModule使用jackson-databind-2.8.9自动注册到默认的objectMapper . 我的程序中的问题是由使用新创建的objectMapper引起的 . 我应该使用@Autowired objectMapper的默认objectMapper .

相关问题