Spring,Jackson和自定义(例如CustomDeserializer)

Spring,Jackson和自定义(例如CustomDeserializer),第1张

Spring,Jackson和自定义(例如CustomDeserializer)

您没有说您在春季如何使用Jackson,所以我假设您通过

<mvc:annotation-driven/>
@RequestBody
和/或
@ResponseBody
注解使用它。

要做的一件事

<mvc:annotation-driven/>
是注册一个
AnnotationMethodHandlerAdapter
带有许多预配置
HttpMessageConverter
Bean的Bean,其中包括
MappingJacksonHttpMessageConverter
,该Bean
处理来往于Jackson注释的模型类之间的编组。

现在

MappingJacksonHttpMessageConverter
有了一个
setObjectMapper()
方法,可以让您覆盖默认值
ObjectMapper
。但是由于
MappingJacksonHttpMessageConverter
是由创建的
<mvc:annotation-driven/>
,所以您无法实现。

但是,

<mvc:annotation-driven/>
这只是一个便捷的捷径。声明自己的
AnnotationMethodHandlerAdapter
bean,将自己的bean注入
MappingJacksonHttpMessageConverter
(通过
messageConverters
属性)并注入自己的自定义
ObjectMapper
变量同样有效。

然后,您将面临如何构建自定义的问题

ObjectMapper
,因为它不是一个非常适合Spring的类。我建议编写自己的简单实现
FactoryBean

因此,您最终将得到如下结果:

<bean >   <property name="messageConverters">      <bean >         <property name="objectMapper"> <bean />         </property>      </bean>   </property></bean>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4999672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存