如何用 jsoniter 将 Spring Boot 应用程序中的 jackson 替换为自动编组器和解组器

Posted

技术标签:

【中文标题】如何用 jsoniter 将 Spring Boot 应用程序中的 jackson 替换为自动编组器和解组器【英文标题】:how to replace jackson in spring boot application as automatic marshaler and unmarshaler with jsoniter 【发布时间】:2018-03-08 17:59:09 【问题描述】:

我正在使用 spring boot 附带的 jackson 从 json 转换为 java 对象,反之亦然,但我发现当 json 的大小很大时,例如 2 MB json 到相关的 java 对象,这需要很长时间通过编组,我们可以使用 JSONITER 吗,它性能好吗?如何在 Spring Boot 中用 JSONITER 替换 JACKSON,目前可以在您的 Spring Boot 应用程序中使用它吗?

【问题讨论】:

如果你想改变默认映射器,你需要把这个添加到你的 .yml/.properties 文件中。 spring.http.converters.preferred-json-mapper=somethingelse 并且您还需要在 pom.xml 中添加适当的依赖项,我使用的是默认值和 gson。我没有尝试别的东西。 可能与这个***.com/questions/53155161/…重复 从主页jsoniter.com,JSONITER 仍然与 Jackson 不兼容。请注意,如果您想用 JSONITER 替换 Jackson。 【参考方案1】:

Spring Boot 在 .yml / .properties 文件中列出了很多东西,但在运行时实际使用什么取决于在类路径中找到哪些类。因此,假设您使用 Maven 或 Gradle,要将一个提供 json 功能的提供者替换为另一个提供者,只需明确指定您需要的依赖项,并排除由 spring-boot-* 之一带来的 Jackson 传递依赖项。

【讨论】:

以上是关于如何用 jsoniter 将 Spring Boot 应用程序中的 jackson 替换为自动编组器和解组器的主要内容,如果未能解决你的问题,请参考以下文章

如何用Docker部署Spring Boot项目

spring 如何用注解的方式给普通类注入bean

如何用 Spring 解锁 Liquibase 锁?

spring的ioc如何用注解完成?

Spring Data MongoDB:如何用 Spring Aggregation 描述聚合 $merge?

一个类实现两个接口,如何用spring实例化