spring boot 配置fastjson

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

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

        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>1.2.15version>
        dependency>

配置fastjson有两种方式

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

@SpringBootApplication
public class App extends WebMvcConfigurerAdapter{

    @Override
    public void configureMessageConverters(List> 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)