我还是不熟悉Spring,但遇到了一个问题,有必要为Jackson实施自定义解串器。该过程在一个小教程中进行了描述,但是,我仍然对Spring
有所了解。我不明白,在哪里
ObjectMapper mapper = new ObjectMapper();
在Spring MVC中,当通过控制器类的方法对json反序列化时执行。所以我不知道该怎么做才能用自定义解串器替换默认的解串器。
任何建议最欢迎。
您没有说您在春季如何使用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 class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper">
<bean class="com.x.MyObjectMapperFactoryBean"/>
</property>
</bean>
</property>
</bean>
问题内容: 我还是不熟悉Spring,但是遇到了一个问题,有必要为Jackson实施我的自定义解串器。该过程在一个小型教程中进行了描述,但是,我对Spring感到困惑。我不明白,在哪里 在Spring MVC中,当通过控制器类的方法对json反序列化时执行。所以我不知道该怎么做才能用自定义解串器替换默认的解串器。 任何建议最欢迎。 问题答案: 您没有说您在spring如何使用Jackson,所以我
问题内容: 我有以下三个应用程序: 项目1举行 业务逻辑(Spring Cloud功能) 接口 IDemoEntity 项目二 AWS特定的处理程序 IDemoEntity的 一种实现,具有DynamoDB特定的注释 该项目基于Spring Boot 项目3 IDemoEntity的 一种实现,带有CosmosDB批注 Azure特定的处理程序 项目1的类如下所示: 对于项目2,IDemoEnti
6.13.2 自定义 ItemWriter 示例 自定义实现 ItemWriter 和上一小节所讲的 ItemReader 有很多方面是类似, 但也有足够多的不同之处。 但增加可重启特性在本质上是一样的, 所以本节的示例就不再讨论这一点。和 ItemReader 示例一样, 为了简单我们使用的参数也是 List: public class CustomItemWriter<T> implement
6.13.1 自定义 ItemReader 示例 为了实现这个目的,我们实现一个简单的 ItemReader, 从给定的list中读取数据。 我们将实现最基本的 ItemReader 功能, read: public class CustomItemReader<T> implements ItemReader<T>{ List<T> items; public CustomIte
在我向Maven添加了HATEOAS的依赖项之后,Spring Boot不会启动: 添加得依赖项: unsatisfiedDependencyException:创建名为“Security Config”的bean时出错:通过方法“Set ContentNegotationStrategy”参数0表示的不满足依赖项;嵌套异常为org.springframework.beans.factory.un