spring boot2 修改默认json解析器Jackson为fastjson
fastjson是阿里出的,尽管近年fasjson爆出过几次严重漏洞,但是平心而论,fastjson的性能的确很有优势,尤其是大数据量时的性能优势,所以fastjson依然是我们的首选;spring boot默认的json解析器是Jackson,替换为fastjson很有必要。 |
1、替换方法
1.1、引入依赖,【注意,1.2.61以下有严重高危漏洞,1.2.61修复,必须升级到1.2.61,目前最新版本为1.2.62】
<dependency><groupid>com.alibaba</groupid><artifactid>fastjsonlt;/artifactid><version>1.2.62lt;/version></dependency>
1.2、配置
注意:Springboot2.0以后,WebMvcConfigurerAdapter 过时了, 以前1版本继承WebMvcConfigurerAdapter 来实现的方法不推荐了。下面介绍两种配置方式,还有一种实现WebMvcConfigurationSupport的方式就不介绍了,道路千万条,选一条就足够了:
方式一(推荐):用bean替代默认解析器
package com.anson.config;import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter;import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List;@Configuration public class WebConfig {/*** @Author anson* @Description 配置消息转换器* @Date: 2019-12-8 11:23:33* @version: 1.0* new HttpMessageConverters(true, converters);* 一定要设为true才能替换否则不会替换* @return 返回一个消息转换的bean*/@Beanpublic HttpMessageConverters fastJsonMessageConverters() {List> converters = new ArrayList<>();//需要定义一个convert转换消息的对象;FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();//添加fastJson的配置信息;FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);//全局时间配置fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");fastJsonConfig.setCharset(Charset.forName("UTF-8"));//处理中文乱码问题List fastMediaTypes = new ArrayList<>();fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);//在convert中添加配置信息.fastConverter.setSupportedMediaTypes(fastMediaTypes);fastConverter.setFastJsonConfig(fastJsonConfig);converters.add(0, fastConverter);return new HttpMessageConverters(converters);} }
方式二、实现WebMvcConfigurer
@Configuration public class WebConfigure implements WebMvcConfigurer{/*** 配置消息转换器* @param converters*/@Overridepublic void configureMessageConverters(List> converters) {//需要定义一个convert转换消息的对象;FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();//添加fastJson的配置信息;FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);//全局时间配置fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");fastJsonConfig.setCharset(Charset.forName("UTF-8"));//处理中文乱码问题List fastMediaTypes = new ArrayList<>();fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);//在convert中添加配置信息.fastConverter.setSupportedMediaTypes(fastMediaTypes);fastConverter.setFastJsonConfig(fastJsonConfig);converters.add(0,fastConverter);} }
spring boot2 修改默认json解析器Jackson为fastjson相关推荐
- Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...
- java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...
- Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!
01.前世今生 我叫 Gson,是一款开源的 Java 库,主要用途为序列化 Java 对象为 JSON 字符串,或反序列化 JSON 字符串成 Java 对象.从我的名字上,就可以看得出一些端倪,我 ...
- SpringBoot配置跨域 修改默认json序列化
SpringBoot配置跨域 修改默认json序列化 修改跨域 addCorsMappings(CorsRegistry registry)方法添加跨域设置的,无法生效,原因是请求经过的先后顺序问题, ...
- cJSON_译(C中的超轻量级JSON解析器)
cJSON ANSI C中的超轻量级JSON解析器. 通行证 执照 版权所有(c)2009-2017 Dave Gamble和cJSON贡献者 特此免费授予获得此软件和相关文档文件("软件& ...
- json解析对应的value为null_徒手撸一个JSON解析器
Java大联盟 致力于最高效的Java学习 关注 作者 | 田小波 cnblogs.com/nullllun/p/8358146.html1.背景JSON(JavaScript Object No ...
- java json parser_自己实现JSON解析器 JsonParser
自己实现json parser,只有一个类,不依赖任何第三方工具. 背景 为什么要实现json解析器呢?在我实现一个rpc框架的过程中,注册中心部分使用consul,而consul的api是通过res ...
- 手写了一个简单的JSON解析器,网友直乎:牛!
作者 | 田小波 来源 | http://r3m2u.cn/4455O 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 X ...
- 开发 Spring 自定义视图和视图解析器
Spring 视图和视图解析器简介 什么是 Spring 视图和视图解析器 Spring MVC(Model View Controller)是 Spring 中一个重要的组成部分,而 Spring ...
最新文章
- 【lidar】3D目标检测PointPillars:论文解读、代码解读、部署实现(2)
- 网络编程学习笔记(基本套接口选项)
- 图片上传组件_博客必备功能,拖拽上传图片!
- 如何利用CNKI句子检索功能提高研究效率
- mysql启动报错2002_mysql登陆启动报错 ERROR 2002 (HY000) 解决方法
- 信息学奥赛C++语言:输出亲朋字符串
- 酒店上网用AC+AP模式,300余间房,需要申请多少宽带资源?
- go - str - byte
- maven 相关简介,和操作命令
- 计算机word中如何左右缩进字符,【2人回答】Word文档怎么左右缩进两个字符?-3D溜溜网...
- MsDos下的Debug调试器与8080汇编小实验
- 这几招教你如何增加食物中铁的吸收
- 创业4年女掌门刘静瑜,创造动力电池,中创新航市值超600亿
- 青海省海西蒙古族藏族自治州谷歌高清卫星地图下载
- Unity3d组合键
- CVE-2017-8570微软office漏洞复现与研究
- 笔记本电脑安装固态硬盘并重装win10系统
- 马克思主义基本原理笔记(黄色标记要求会背)
- 提高电脑性能增加fps的方法
- 深入理解Http请求、DNS劫持与解析