如何在不继承spring-boot-starter-web的情况下在Spring Boot中获取ObjectMapper实例?

时间:2017-06-28 16:14:09

标签: spring spring-mvc spring-boot jackson jackson-databind

我正在使用Spring Boot 2.0.0M2,试图创建一个CLI应用程序,而不是Web应用程序。我的问题是即使包括

  compile 'org.springframework.boot:spring-boot-starter'
  compile 'org.springframework.boot:spring-boot-starter-json'

在我的构建中,ObjectMapper不是由Boot创建的,因为

Bean method 'jacksonObjectMapper' not loaded because @ConditionalOnClass did not find required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'

当您想要使用Spring Boot实例并配置Jackson但不想启动Web服务器时,最佳做法是什么?

3 个答案:

答案 0 :(得分:3)

为什么不自己初始化它。

@Bean
ObjectMapper objectMapper() {
    return new ObjectMapper();
}

答案 1 :(得分:2)

如果要避免包括完整的Web堆栈(自Spring Boot v.2.0.0M4起),可以添加spring-boot-starter-json

答案 2 :(得分:1)

您可以尝试添加org.springframework:spring-web依赖项,因为该类位于其中。