spring-boot 集成fastjson

Spring Boot集成fastjson2实战与性能优化 JSON序列化是微服务架构中的基础技术,其性能直接影响系统吞吐量。fastjson2作为阿里巴巴开源的高性能JSON库,通过优化内存管理和算法设计,在序列化速度上比Jackson快2-3倍。该技术特别适合高并发场景,能有效降低GC压力。本文以Spring Boot项目为例,详细介绍如何通过配置消息转换器实现fastjson2集成,并针对BigDecimal精度、日期格式等常见问题提供解决方案。结合电商项目实践,替换fastjson2后API响应时间降低40%,同时分享了JSONB模式、对象池等高级优化技巧。 阅读详情

本文转自:https://blog.youkuaiyun.com/houyujie745839/article/details/72763432

 

spring boot 默认使用的json转换工具是jackson。

集成fastjson,引入fastjson的jar,版本1.2.10+

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.15</version>
        </dependency>

配置fastjson有两种方式

第一种方式:
① 启动类继承 WebMvcConfigurerAdapter
②覆盖configureMessageConverters方法

@SpringBootApplication
public class App extends WebMvcConfigurerAdapter{

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

        //定义一个转换消息的对象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //添加fastjson的配置信息 比如 :是否要格式化返回的json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();

        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

        //在转换器中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);

        //将转换器添加到converters中
        converters.add(fastConverter);
    }

第二种方式:
启动类注入Bean HttpMessageConverters

@Bean
    public HttpMessageConverters fastjsonHttpMessageConverter(){
        //定义一个转换消息的对象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //添加fastjson的配置信息 比如 :是否要格式化返回的json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();

        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

        //在转换器中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);

        HttpMessageConverter<?> converter = fastConverter;

        return new HttpMessageConverters(converter);

    }

到此fastjson配置完毕。测试是否json是否使用fastjson可在实体类对象的任意属性加上@JSONField(serialize=false)返回前端的数据没有该属性,则配置成功

Spring Boot集成fastjson2性能优化实践 JSON作为轻量级数据交换格式,在现代Web开发中扮演着关键角色。其核心原理是通过键值对结构实现数据的序列化与反序列化,主流Java生态中有Jackson、Gson和fastjson等处理库。fastjson2作为阿里巴巴开源的高性能JSON库,通过优化的内存管理和算法设计,在序列化速度上可达Jackson的2-3倍,特别适合高并发微服务场景。该技术能显著降低系统CPU占用,在QPS超过5000的电商秒杀、金融交易等场景中,实测可减少30%资源消耗。通过Spring Boot深度集成fastjson2,开发 阅读详情

相关推荐

JAVA:Spring Boot 集成 Fastjson 实现 JSON 解析

本文介绍了如何在Spring Boot中集成Fastjson替代默认的Jackson进行JSON数据处理。主要内容包括:添加Fastjson依赖、定义实体类、基础用法(字符串转对象、对象转字符串、数组解析)、全局配置Fastjson替换Jackson,以及Controller示例。Fastjson具有高性能、功能强大、使用简单的特点,适合高并发系统、复杂JSON处理等场景。文章还提供了样例代码链接,方便开发者快速实践。最后指出Fastjson适用于电商平台、大数据系统等对JSON处理性能要求较高的场景。

木头 1822

Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系

一、前言 在搭建SpringCloud项目环境架构的时候,Springboot版本与SpringCloud版本对应关系很重要,如果版本不对应,常见的会遇见项目启动不起来,怪异的会是项目出现一些诡异的问题。 Release train Spring Boot compatibility Spring Cloud Release Train Spring Boot Version Ho...

Thinkingcao的专栏 1万+

Spring Boot(十五):Spring Boot集成fastjson

一、项目准备 直接使用上个章节的源码 二、添加依赖 从spring-boot-starter-web里去除spring-boot-starter-json依赖,添加fastjson依赖: <!-- Spring Boot web启动器 --> <dependency> <groupId>org.springframework.boot</...

u013938578的博客 611

【springboot进阶】springboot集成fastjson(一)配置消息解析器

springboot中,使用fastjson作为默认的消息解析器,代替springboot默认使用的jackson

6007

Sublime Text4代码配色自定义方案

关于Sublime Text对于我的使用体验,只能说内置的代码主题真的都太low了,一点都不好看。所以接下来我分享一下我自定义代码配色。当然,大家也可以通过我给的中文翻译注释来自定义自己喜欢的颜色。废话不多说,直接上代码直接将代码复制粘贴到:Preferences > Customize Color Scheme 即可。},"globals":"foreground": "var(white)", // 前景色。

追求细节,成就完美 6026

ptrade从零开始学习量化交易第166期【ptrade量化策略研究参考--三个因子挖掘思路】

三个因子挖掘思路

GJ57017_wx的博客 1245

SpringBoot 整合 FastJson 及用法举例

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

xdscode的博客 1264

IBM System x3650 M5 IMM配置

1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...

血饮渊虹的博客 4万+

Spring boot引入fastjson

目录   1,导入指定版本的fastjson包 2,配置HttpConverterConfig类 3,编写测试类 4,说明 1,导入指定版本的fastjson包 这里我选择1.2.55版本,因为自己学习研究用,所以,直接搞最新的。 pom.xml如下 &lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt...

a80C51的博客 2437

利用featureCounts实现高效转录本定量:从比对到下游分析

本文详细介绍了利用featureCounts工具进行RNA-seq转录本定量的完整流程。从软件安装、输入文件准备,到核心命令参数解析与批量样本处理,再到将生成的计数矩阵无缝衔接至DESeq2进行差异表达分析,提供了从比对到下游分析的一站式实战指南。文章重点阐述了featureCounts在效率与易用性上的优势,并分享了常见问题排查与性能优化技巧,帮助研究者高效完成转录本定量这一关键步骤。

weixin_29069131的博客 317

Java实战:用Proj4j搞定WGS84与CGCS2000坐标互转(附完整代码)

本文详细介绍了如何使用Java库Proj4j实现WGS84与CGCS2000坐标系之间的高精度转换。通过七参数转换模型和格网改正量文件,提供完整的代码实现和项目配置指南,帮助开发者快速集成到地理信息系统项目中,提升坐标转换效率和精度。

weixin_29251567的博客 826

springboot--初学者必看

我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低。2012 年 10 月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架中支持无容器 Web 应用程序体系结构

小新的博客 1412

形位公差标注的常见误区与优化策略

本文深入解析机械设计中形位公差标注的常见误区与优化策略,特别针对NX2406用户提供实用技巧。从标注冗余、基准选择到公差值设定等五大误区入手,结合工程图实例展示如何提升标注精度与效率,帮助工程师避免常见错误,优化设计流程,确保零件功能实现与制造可行性。

info6的博客 243

Spring-Boot中集成FastJson Gradle项目

1).build.gradle文件中加入下面配置 dependencies { compile(&quot;com.alibaba:fastjson:${fastjsonVersion}&quot;) } 2).创建一个类用来配置FastJson @Configuration public class FastJsonConf implements WebMvcConfigurer { ...

xiaowen555555 1万+

海思Hi3559A/CV100 DDR4参数配置经验分享

海思Hi3559A/CV100 DDR4参数配置方法 Hi3559AV100 DDR4 驱动配置说明 1.1 Hi3559AV100 DDR4 CLK/AC 驱动配置方法 寄存器地址 DDR PHY0:0x1206d0bc DDR PHY1:0x1206f0bc 寄存器描述 − Bit[5:3]:CLK 驱动 − Bit[14:12]:2T 驱动 − Bit[20:18]:1T 驱动 驱动大小定义 − 000:Disable − 001:240ohm − 010: 120ohm − 011:80ohm −

WeChat_zhanggong345的博客 2878

Python爬虫实战:携程旅游平台数据爬取(酒店+机票+景点),破解加密与反爬(附完整代码)

携程的反爬机制再复杂,核心逻辑都是“识别非真实用户的请求”,而爬虫的核心就是“让请求看起来像真实用户的行为”。本文的方案从登录态处理、参数加密破解、动态数据抓取,到反爬应对,都是围绕“模拟真实”展开:用Playwright模拟真实浏览器登录,用住宅代理模拟真实用户IP,用随机延迟模拟真实用户的操作频率。掌握了这个核心思路,无论平台的反爬如何升级,都能找到应对方法。当然,爬虫技术是一把双刃剑,合理使用才能发挥其价值。如果你的爬虫项目中遇到了携程的反爬问题,不妨按照本文的步骤试试,大概率能解决问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2603

Spring Boot 集成 FastJson

一、java对象 POJO和JavaBean的区别 引用自博客:https://blog.youkuaiyun.com/kobexiaol/article/details/78195856 大致理解为:JavaBean看作遵从特定命名约定的POJO 二、Fastjson框架 引用自博客: https://segmentfault.com/a/1190000014840473 https://seg...

大为的博客 290

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Spring Boot集成fastjson2:高性能JSON处理实践

JSON作为轻量级数据交换格式,在现代Web开发中扮演着核心角色。其基于文本的特性便于阅读和调试,而高效的序列化/反序列化能力则是系统性能的关键。fastjson2作为阿里巴巴开源的高性能JSON库,通过优化的内存管理和算法设计,在序列化速度上比Jackson快2-3倍,特别适合高并发场景。该库支持JSONB二进制格式减少传输体积,内置JSONPath实现复杂查询,与Spring Boot深度集成后能显著提升REST API性能。通过合理配置消息转换器和特性参数,开发者可以轻松实现日期格式化、空值处理等常见

weixin_34023982的博客 431

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java json utf-8_Spring Boot集成fastjson并设置字符集为UTF-8

首先加入fastjsoncom.alibabafastjson1.2.56在 Spring MVC 中集成 Fastjson/*** 在spring boot 2.x中,直接实现WebMvcConfigurer接口即可,得益于Java8中的默认方法,WebMvcConfigurerAdapter已经过时* @author hutaishi@qq.com* @date 2019/3/4*/@Conf...

weixin_28990605的博客 1194

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Spring Boot教程(十一):Spring Boot集成fastjson

原文出处:https://blog.youkuaiyun.com/gnail_oug/article/details/80239767 一、项目准备 直接使用上个章节的源码,Spring Boot教程(十):Spring Boot集成jsp 二、添加依赖 从spring-boot-starter-web里去除spring-boot-starter-json依赖,添加fastjson依赖: ...

DM_elena的博客 238

Spring Boot 集成fastjson

1. 在pom.xml文件中加入: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <vers...

chuimao5558的博客 179

Spring Boot 集成 fastjson

Spring Boot 集成 fastjson 环境信息 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.REL...

qq_40864421的博客 343

Spring Boot集成fastjson2快速入门Demo

fastjson2是阿里巴巴开发的一个高性能的Java JSON处理库,它支持将Java对象转换成JSON格式,同时也支持将JSON字符串解析成Java对象。本文将介绍fastjson2的常见用法,包括JSON对象、JSON数组的创建、取值、遍历,以及与字符串、Java对象、Map、List的相互转换。支持JSON/JSONB两种协议,JSONPath是一等公民。支持全量解析和部分解析。支持Java服务端、客户端Android、大数据场景。支持Kotlin支持。

HBLOG 1929

Spring Boot集成fastjson报错

问题描述 例如:SpringBoot集成fastjson,在spring test测试中运行错误 at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:315) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorRe

qq_43854982的博客 824

spring-boot集成 FastJson

pom 加入配置 &lt;!-- fastjson --&gt; &lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;fastjson&lt;/artifactId&gt; &lt;version&gt;1.2.31&lt;/version&gt

小驴 1040
上一篇: Spring-boot三种启动方式
下一篇: 在IDEA中配置spring boot 对jsp页面的支持
九月刑天
博客等级 码龄10年 38粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值