Springboot框架 ——>Gson 的使用
首先将springboot中自带的jackson移除 ,并导入Gson的依赖
代码如下:
<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>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
我们可以自定义一个Gson配置
Gson的源码如下:
@Bean
@ConditionalOnMissingBean
GsonHttpMessageConverter gsonHttpMessageConverter(Gson gson) {
GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
converter.setGson(gson);
return converter;
}
源码分析:
由于 Spring Boot 中默 Gson 自动转换类 GsonHttpMessageConvertersConfiguration 的依赖添加成功后 可以像使用 用 Jackson 那样直接使用 Gson 。
自定义配置
@Configuration
public class GsonConfig {
@Bean
GsonHttpMessageConverter gsonHttpMessageConverter(Gson gson){
GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
converter.setGson(gson);
return converter;
}
}
定义属性
@Component
public class book {
private int price;
private String name;
private String author;
// getset省略
定义controller
@ResponseBody
@RequestMapping("/books_json")
public book books_json(){
book book = new book();
book.setAuthor("曹雪芹");
book.setName("红楼梦");
book.setPrice(100000);
return book;
}
运行结果