在 spring boot 中使用默认的 objectmapper 注册 JavaTimeModule

Register JavaTimeModule with the default objectmapper in springboot

我定义了一个JavaTimeModule

@Bean public Module java8TimeModule() {
    JavaTimeModule javaTimeModule = new JavaTimeModule();
    return javaTimeModule; 
}

但是,它不会在默认的对象映射器中注册自己。我正在使用 jackson-databind-2.8.9.jar.

EclipseIDE中JavaTimeModule()的联机帮助说:

Note that as of 2.6, this module does NOT support auto-registration.

不确定 jackson-databind-2.8.9 是否仍然是相同的情况导致 JavaTimeModule 没有注册默认的 objectmapper。

我不想创建新的对象映射器。和过去一样,当我尝试这个时,我创建的 objectmapper 遇到了另一个问题。

Springboot 文档说:

Defining a @Bean of type Jackson2ObjectMapperBuilder will allow you to customize both default ObjectMapper and XmlMapper.

但我找不到代码示例,也不知道该怎么做。

如果我定义 Jackson2ObjectMapperBuilder 类型的 @Bean,它会替换默认的吗?它的后果是什么?以及如何从 Jackson2ObjectMapperBuilder 获取默认对象映射器?

我在 找到了关于如何自定义默认 objectMapper 的现有 link。

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