SpringBoot整合Gson SpringBoot整合Gson 整合Fastjson的实例详解
msfh 人气:0SpringBoot整合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、测试(无问题)
加载全部内容