您没有说您在春季如何使用Jackson,所以我假设您通过
<mvc:annotation-driven/>和
@RequestBody和/或
@ResponseBody注解使用它。
要做的一件事
<mvc:annotation-driven/>是注册一个
AnnotationMethodHandlerAdapter带有许多预配置
HttpMessageConverterBean的Bean,其中包括
MappingJacksonHttpMessageConverter,该Bean
处理来往于Jackson注释的模型类之间的编组。
现在
MappingJacksonHttpMessageConverter有了一个
setObjectMapper()方法,可以让您覆盖默认值
ObjectMapper。但是由于
MappingJacksonHttpMessageConverter是由创建的
<mvc:annotation-driven/>,所以您无法实现。
但是,
<mvc:annotation-driven/>这只是一个便捷的捷径。声明自己的
AnnotationMethodHandlerAdapterbean,将自己的bean注入
MappingJacksonHttpMessageConverter(通过
messageConverters属性)并注入自己的自定义
ObjectMapper变量同样有效。
然后,您将面临如何构建自定义的问题
ObjectMapper,因为它不是一个非常适合Spring的类。我建议编写自己的简单实现
FactoryBean。
因此,您最终将得到如下结果:
<bean > <property name="messageConverters"> <bean > <property name="objectMapper"> <bean /> </property> </bean> </property></bean>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)