zoukankan      html  css  js  c++  java
  • spring boot配置使用fastjson

    一、前言

    spring boot默认使用jackson来操作json数据,相比于jackson,fastjson更好用,功能也强大,所以这里记录一下在spring boot中配置使用fastjson的方法。

    二、添加依赖

    在pom.xml中添加以下依赖:

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

    三、在启动类(含main函数的那个类)中添加以下代码:

    @Bean
        public HttpMessageConverters fastJsonHttpMessageConverters(){
            //1、先定义一个convert转换消息的对象
            FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
            //2、添加fastjson的配置信息,比如是否要格式化返回的json数据;
            FastJsonConfig fastJsonConfig=new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            //附加:处理中文乱码
            List<MediaType> fastMedisTypes = new ArrayList<MediaType>();
            fastMedisTypes.add(MediaType.APPLICATION_JSON_UTF8);
            fastConverter.setSupportedMediaTypes(fastMedisTypes);
            //3、在convert中添加配置信息
            fastConverter.setFastJsonConfig(fastJsonConfig);
            HttpMessageConverter<?> converter=fastConverter;
            return new HttpMessageConverters(converter);
        }

    四、测试

    假如实体类中有一个Date类型的属性time,则可以使用@JSONField()注解来制定返回的日期格式

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date time;

    这样在返回json数据的时候,time就会被解析成“年-月-日 时:分:秒”的形式,还可以通过注解@JSONField(serialize = false)来决定一个字段是否被包含在返回的json中。更多用法可以参考:http://kimmking.github.io/2017/06/06/json-best-practice/

  • 相关阅读:
    无法往u盘里边复制超过4G的单个文件解决方法
    vue 自定义属性判断点击每个item 显示隐藏
    前端小组分享会之异步回调函数中的上下文
    git 的一些命令
    ES学习之promise
    mac找到占用端口号的进程ID
    meta link
    webpack学习笔记--安装
    css样式之 direction
    日常积累之JSON.stringify和JSON.parse substr
  • 原文地址:https://www.cnblogs.com/sench/p/8867021.html
Copyright © 2011-2022 走看看