修改pom.xml文件
添加FastJson依赖包
这里补充一下,官方版本必须要fastjson.1.2.10及以上
<!-- 添加Fastjson依赖包 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
修改App.java文件
- 启动类继承extends WebMvcConfigurerAdapter
- 覆盖方法configureMessageConverters
@SpringBootApplication
public class App extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
/**
* 1、定义一个convert转换消息对象;
* 2、添加fastJson的配置信息,是否要格式化返回的Json数据;
* 3、处理中文乱码
* 4、在convert中添加配置信息;
* 5、将convert添加到converters当中;
*/
// 1、定义一个convert转换消息对象;
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
// 2、添加fastJson的配置信息,是否要格式化返回的Json数据;
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
// 3、处理中文乱码
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
// 4、在convert中添加配置信息;
fastConverter.setFastJsonConfig(fastJsonConfig);
// 5、将convert添加到converters当中;
converters.add(fastConverter);
}
}
在Controller类中添加getUser方法
@RequestMapping("/getUser")
public UserVO getUserVO() {
UserVO vo = new UserVO();
vo.setUserId(1);
vo.setUserName("张三");
vo.setCreateDate(new Date());
return vo;
}
启动程序-执行
怎么检测是否替换FastJson成功呢,最简单的方式是我们可以在对象属性中加入:
@JSONField(format="yyyy-MM-dd HH:mm:ss"),看日期类型输出是否被格式化,如格式化则说明成功。
public class UserVO {
private Integer userId;
private String userName;
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date createDate;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
输出:
{
"createDate":"2018-05-31 14:28:19",
"userId":1,
"userName":"张三"
}