• 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/

  • 相关阅读:
    用定时器令P0(或其它IO口)产生多路方波
    边沿触发和电平触发的区别
    mysql数据库学习小结
    线程状态、同步
    java访问修饰符 public protect default private
    注解Responsebody RequestBody RequestMapping
    input标签元素,value属性取值问题,赋值
    java多线程的三种实现方式
    参数添加 dynamo
    Python 第三方库,模块,包的安装方法
  • 原文地址:https://www.cnblogs.com/sench/p/8867021.html
Copyright © 2020-2023  润新知