我不合理地通过注释而不是纯 xml bean 来配置 spring bean,现在我正面临着后果。
我使用配置 REST 通道
<mvc:annotation-driven />
现在我只想简单地将MappingJacksonHttpMessageConverter
具有非空值的字段配置为输出到 JSON。我尝试了以下方法:
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="prefixJson" value="false" />
<property name="supportedMediaTypes" value="application/json" />
<property name="objectMapper">
<bean class="org.codehaus.jackson.map.ObjectMapper">
<property name="serializationInclusion" value="NON_NULL"/>
</bean>
</property>
</bean>
bean 被创建,但另一个转换器实例被创建并在通道中使用。所以我尝试了这个 Stackoverflow question@Configuration
中@Bean
描述的方法,但 json 序列化仍然使用它自己的配置。
最后我尝试通过注入映射器
@Autowired
private MappingJacksonHttpMessageConverter jacksonConverter;
但我已经结束了NoSuchBeanDefinitionException
。所以现在我别无选择,因此我在这里寻求任何想法。如何控制和配置框架使用的映射器?