【发布时间】:2015-07-15 14:27:18
【问题描述】:
Spring 4.1 实例化了一个 Jackson ObjectMapper 实例。我有理由想将 @Autowire 该实例放入我的一个控制器中:控制器使用 Jackson 对自己的一些次要 JSON 解析,但它使用的 ObjectMapper 应该是 Spring 本身正在使用的同一个实例。我该如何实现呢?
请注意,我不是在问如何自定义配置 Spring 使用的 ObjectMapper;我对默认设置很满意。我只是想把 Spring 使用的实例捞出来,这样我就可以在自己的代码中重用现有的实例。
【问题讨论】:
-
你确定它创建了一个可以自动装配的bean而不是ObjectMapper的本地实例吗?如果是,这不能从“从 ObjectMapper.class 类型的上下文中加载 bean”中获取吗?
-
在控制器中添加
ObjectMapper类型的@Autowire属性是不够的。显然,Spring 并未将其公开为标准 bean。 -
在测试环境中,我通过在测试类的
ObjectMapper和@JsonTest上添加@Autowired得到它
标签: java json spring spring-mvc jackson