Spring Boot集成了Jackson框架来处理JSON数据,但目前FastJson框架是处理JSON数据最高效的框架,如何替换Jackson框架,步骤如下:
(一)添加依赖
<!--spring boot默认的json工具是jackson,因为fastjson更快,所以这里需要替换成fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>
(二)在应用程序启动类中,添加如下代码:
/**
* @SpringBootApplicatio: 指定这是一个Spring boot应用程序
*/
@SpringBootApplication
public class SbHelloApplication {
public static void main(String[] args) {
//在main方法中启动应用程序
SpringApplication.run(SbHelloApplication.class, args);
}
/**
* 使用@Bean注解注入第三方的解析框架(fastJson)
*/
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters(){
//1、首先需要先定义一个convert转换消息对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2、添加fastJson的配置信息,比如:是否要格式化返回的json数据
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//3、在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
return new HttpMessageConverters(fastConverter);
}
}
(三)使用
public class User {
private Integer id;
private String username;
private Integer age;
/**
* fastJson特性:格式化
*/
@JSONField(format = "yyyy-MM-dd HH:mm")
private Date createTime;
/**
* 不输出该成员变量,相当于Jackson的@JsonInclude注解
* serialize:是否需要序列化
*/
@JSONField(serialize = false)
private String remark;
}