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

时间:2021-05-20

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控制器 */@RestControllerpublic 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配置类 */@Configurationpublic 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配置类 */@Configurationpublic 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 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章