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

 更新时间:2020年11月26日 14:45:03   作者:msfh  
这篇文章主要介绍了SpringBoot整合Gson 整合Fastjson的实例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解SpringBoot自定义配置与整合Druid

    详解SpringBoot自定义配置与整合Druid

    Druid是alibaba开源平台上一个数据库连接池实现,结合了C3P0,DBCP等DB池的优点,同时也有Web监控界面。这篇文章主要介绍了Java之SpringBoot自定义配置与整合Druid的相关知识,需要的朋友可以参考下
    2021-09-09
  • java登录验证码实现代码

    java登录验证码实现代码

    这篇文章介绍了java实现登录验证码:用兴趣的同学可以参考一下
    2013-10-10
  • Java如何使用spire进行word文档的替换详解

    Java如何使用spire进行word文档的替换详解

    创作一份文案经常会高频率地使用某些词汇,如地名、人名、人物职位等,若表述有误,就需要整体撤换,下面这篇文章主要给大家介绍了关于Java如何使用spire进行word文档的替换的相关资料,需要的朋友可以参考下
    2023-01-01
  • 消息中间件详解以及比较选择

    消息中间件详解以及比较选择

    这篇文章主要介绍了消息中间件详解以及比较选择,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • springboot整合sentinel接口熔断的实现示例

    springboot整合sentinel接口熔断的实现示例

    为了防止慢接口导致的服务阻塞,可以通过添加熔断处理来避免应用的大量工作线程陷入阻塞,保证其他接口的正常运行,本文介绍了如何使用Spring Boot与Sentinel进行接口熔断的配置与实现,感兴趣的可以了解一下
    2024-09-09
  • SpringBoot中GlobalExceptionHandler异常处理机制详细说明

    SpringBoot中GlobalExceptionHandler异常处理机制详细说明

    Spring Boot的GlobalExceptionHandler是一个全局异常处理器,用于捕获和处理应用程序中发生的所有异常,这篇文章主要给大家介绍了关于Java中GlobalExceptionHandler异常处理机制的相关资料,需要的朋友可以参考下
    2024-03-03
  • 详解Spring Security中权限注解的使用

    详解Spring Security中权限注解的使用

    这篇文章主要为大家详细介绍一下Spring Security中权限注解的使用方法,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以参考一下
    2022-05-05
  • Java Web十条开发实用小知识

    Java Web十条开发实用小知识

    这篇文章主要介绍了Java Web十条开发实用小知识的相关资料,需要的朋友可以参考下
    2016-05-05
  • Java-lambda表达式入门看这一篇就够了

    Java-lambda表达式入门看这一篇就够了

    lambda表达式最简单的作用就是用于简化创建匿名内部类对象,Lambda表达式是一个可传递的代码块,可以在以后执行一次或多次,下面通过本文给大家介绍Java-lambda表达式入门教程,感兴趣的朋友一起看看吧
    2021-05-05
  • linux中nohup java -jar启动java项目的步骤

    linux中nohup java -jar启动java项目的步骤

    nohup是一个Unix和Linux命令,用于运行关闭时不会被终止的进程,这篇文章主要给大家介绍了关于linux中nohup java -jar启动java项目的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08

最新评论