首页 > 解决方案 > 在@Service 中创建 ObjectMapper 的 @Bean 时出错

问题描述

我有这个配置类:

@Configuration
public class ApplicationConfig {

    @Bean
    public ObjectMapper obMapper() {
        return new ObjectMapper();
    }

}

这在我的服务中:

@Qualifier("obMapper")
private ObjectMapper obMapper;

但我收到此错误:

Parameter 0 of method jacksonCodecCustomizer in org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration$JacksonCodecConfiguration required a single bean

我应该如何创建它?

标签: javaspring-bootjackson-databind

解决方案


如果要注入 bean,则必须使用以下之一:

1. 自动装配依赖

@Autowired
@Qualifier("obMapper")
private ObjectMapper objectMapper;

2.使用setter注入

private ObjectMapper objectMapper;
@Autowired
public setObjectMapper(ObjectMapper objectMapper) {
    this.objectMapper = objectMapper;
}

例如,您可以在 Baeldung 上的这篇文章中找到更多详细信息。


推荐阅读