欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot整合Gson 整合Fastjson的实例详解

程序员文章站 2022-03-10 09:06:42
springboot整合gson 整合fastjson一、springboot整合gson1、pom依赖# 在springboot中给我们自带了json解析器,我们需要移除springboot自带的j...

springboot整合gson 整合fastjson

 一、springboot整合gson

1、pom依赖

# 在springboot中给我们自带了json解析器,我们需要移除springboot自带的jackson,在添加gson依赖

<dependencies>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-web</artifactid>
  <!--移除jackson依赖-->
  <exclusions>
   <exclusion>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-json</artifactid>
   </exclusion>
  </exclusions>
 </dependency>
 <!--添加gson依赖-->
 <dependency>
  <groupid>com.google.code.gson</groupid>
  <artifactid>gson</artifactid>
 </dependency>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-test</artifactid>
  <scope>test</scope>
 </dependency>
</dependencies>

2、user实体

/**
 * @create_author msfh
 * @create_date 2020-11-25 15:54:15
 * @description user实体
 */
public class user {
 private integer id;
 private string name;
 private date birthday;

 @override
 public string tostring() {
  return "user{" +
    "id=" + id +
    ", name='" + name + '\'' +
    ", birthday=" + birthday +
    '}';
 }
 /**省略set&get**/
}

3、usercontroller

/**
 * @create_author msfh
 * @create_date 2020-11-25 15:55:15
 * @description usercontroller控制器
 */
@restcontroller
public class usercontroller {

 @getmapping("/user")
 public list<user> getusers(){
  arraylist<user> users = new arraylist<>();
  for (int i = 0; i < 10; i++) {
   user user = new user();
   user.setid(i);
   user.setname("msfh-->"+i);
   user.setbirthday(new date());
   users.add(user);
  }
  return users;
 }

}

4、webmvcconfig

# 在之前的一篇博客中有介绍,大家不太明白可以先看一下上一篇博客,这次就不放测试的结果了!
# 在gsonhttpmessageconvertersconfiguration中含有gsonhttpmessageconverter
# 在gsonautoconfiguration中含有gson
# 我们可以分别写两个bean去实现gson的配置(gsonhttpmessageconverter或gson)
# 建议大家没事的话,可以看下源码
/**
 * @create_author msfh
 * @create_date 2020-11-25 16:05:56
 * @description webmvcconfig配置类
 */
@configuration
public class webmvcconfig {

 //@bean
 //gsonhttpmessageconverter gsonhttpmessageconverter(){
 // gsonhttpmessageconverter converter = new gsonhttpmessageconverter();
 // converter.setgson(new gsonbuilder().setdateformat("yyyy-mm-dd").create());
 // return converter;
 //}

 @bean
 gson gson(){
  return new gsonbuilder().setdateformat("yyyy-mm-dd").create();
 }

}

二、springboot整合fastjson

1、pom依赖

# 这个没什么好说的,还是移除自带的jackson,添加fastjson,不再做过多解释

<dependencies>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-web</artifactid>
  <!--移除jackson依赖-->
  <exclusions>
   <exclusion>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-json</artifactid>
   </exclusion>
  </exclusions>
 </dependency>
 <!--添加fastjson依赖-->
 <dependency>
  <groupid>com.alibaba</groupid>
  <artifactid>fastjson</artifactid>
  <version>1.2.74</version>
 </dependency>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-test</artifactid>
  <scope>test</scope>
 </dependency>
</dependencies>

2、user实体(上边代码)

3、usercontroller(上边代码)

4、webmvcconfig

# 在fastjson中稍微和之前两种不一致
# 在fastjsonhttpmessageconverter找到fastjsonconfig看一下

/**
 * @create_author msfh
 * @create_date 2020-11-25 16:05:56
 * @description webmvcconfig配置类
 */
@configuration
public class webmvcconfig {

 @bean
 fastjsonhttpmessageconverter fastjsonhttpmessageconverter(){
  fastjsonhttpmessageconverter converter = new fastjsonhttpmessageconverter();
  fastjsonconfig config = new fastjsonconfig();
  config.setdateformat("yyyy/mm/dd");
  converter.setfastjsonconfig(config);
  return converter;
 }

}

5、测试(无问题)

到此这篇关于springboot整合gson 整合fastjson的文章就介绍到这了,更多相关springboot整合gson 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!