美文网首页
springboot配置Gson

springboot配置Gson

作者: CXY_XZL | 来源:发表于2020-11-07 20:53 被阅读0次

1.引入依赖

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
          <exclusion>
              <groupId>com.fasterxml.jackson.core</groupId>
              <artifactId>jackson-databind</artifactId>
          </exclusion>
      </exclusions>
</dependency>
<dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
</dependency>

解释:springboot默认使用Jackson-databind作为JSON处理器,使用Gson就需要先剔除jackson-databind


2.源码分析

···
···
@Bean
@ConditionalOnMissingBean
public GsonHttpMessageConverter gsonHttpMessageConverter(Gson gson) {
    GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
    converter.setGson(gson);
     return converter;
}

解释: 以上是GsonHttpMessageConverterConfiguration中的一段源码,由@ConditionalOnMissingBean可知,我们可以自己配置GsonHttpMessageConverter来替换默认的配置


3.Gson自定义配置

@Configuration
public class GsonConfig {

    @Bean
    GsonHttpMessageConverter gsonHttpMessageConverter(){
        GsonHttpMessageConverter converter =  new GsonHttpMessageConverter();
        GsonBuilder builder = new GsonBuilder();
        //设置日期格式
        builder.setDateFormat("yyyy-MM-dd");
        //设置过滤修饰符为protected的字段
        builder.excludeFieldsWithModifiers(Modifier.PROTECTED);
        Gson gson = builder.create();
        converter.setGson(gson);
        return converter;
    }
}

4.测试

  • 先定义一个model
@Getter
@Setter
@AllArgsConstructor
public class Book {
    private String name;
    private String author;
    //此字段在输出时将会被忽略
    protected float price;
    private Date date;
}
  • 定义路由
@RestController
public class BookController {

    @GetMapping("/book")
    public Book book(){
        return new Book("小罗","小三",30f,new Date());
    }
}
{"name":"小罗","author":"小三","date":"2020-11-07"}

5.fastjson配置
fastjson配置请看文章:springboot配置fastjson

相关文章

  • Redis工具类封装

    依赖 项目是springboot 项目。加上gson 和redis 的依赖如下 yml文件配置 redis 配置...

  • springboot配置Gson

    1.引入依赖 解释:springboot默认使用Jackson-databind作为JSON处理器,使用Gson就...

  • 2018-10-16

    redis集群配置 1、springboot中加入依赖: //====== redis 采用gson序列化对象==...

  • Spring Boot配置

    SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之D...

  • 四、SpringBoot的配置文件

    四、SpringBoot的配置文件 4.1 SpringBoot配置文件类型 4.1.1 SpringBoot配置...

  • SpringBoot知识 day03

    一、SpringBoot的配置文件 1.1 SpringBoot配置文件类型 1.1.1 SpringBoot配置...

  • 6. JSON

    SpringBoot 内嵌了 3 个 JSON 类库 Gson Jackson JSON-B Jackson 是默...

  • spring-boot 自动装配原理

    SpringBoot自动配置原理SpringBoot自动配置原理(SpringBoot自动装配原理,SpringB...

  • SpringBoot 的配置文件

    SpringBoot 配置文件类型 SpringBoot 配置文件的类型和作用 SpringBoot 是基于约定的...

  • SpringBoot第二天上午

    1、SpringBoot核心配置 SpringBoot自动配置: SpringBoot项目一般都会有一个入口类...

网友评论

      本文标题:springboot配置Gson

      本文链接:https://www.haomeiwen.com/subject/gdmqbktx.html