springmcv用注解配置fastjson依赖
时间: 2024-03-21 12:15:45 浏览: 110
springmvc json配置
要使用Fastjson作为Spring MVC的JSON序列化和反序列化库,可以通过以下步骤进行注解配置:
1. 在pom.xml文件中添加Fastjson的依赖:
```xml
<!-- Fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
```
2. 在Spring MVC配置文件中添加以下内容,使用`@Configuration`注解创建一个配置类:
```java
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class FastJsonConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
// 创建FastJson消息转换器
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
// 添加支持的MediaTypes类型
List<MediaType> supportedMediaTypes = new ArrayList<>();
supportedMediaTypes.add(MediaType.APPLICATION_JSON);
supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
supportedMediaTypes.add(MediaType.APPLICATION_ATOM_XML);
supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED);
supportedMediaTypes.add(MediaType.APPLICATION_OCTET_STREAM);
supportedMediaTypes.add(MediaType.APPLICATION_PDF);
supportedMediaTypes.add(MediaType.APPLICATION_RSS_XML);
supportedMediaTypes.add(MediaType.APPLICATION_XHTML_XML);
supportedMediaTypes.add(MediaType.APPLICATION_XML);
supportedMediaTypes.add(MediaType.IMAGE_GIF);
supportedMediaTypes.add(MediaType.IMAGE_JPEG);
supportedMediaTypes.add(MediaType.IMAGE_PNG);
supportedMediaTypes.add(MediaType.TEXT_EVENT_STREAM);
supportedMediaTypes.add(MediaType.TEXT_HTML);
supportedMediaTypes.add(MediaType.TEXT_MARKDOWN);
supportedMediaTypes.add(MediaType.TEXT_PLAIN);
supportedMediaTypes.add(MediaType.TEXT_XML);
converter.setSupportedMediaTypes(supportedMediaTypes);
// 将FastJson添加到消息转换器列表中
converters.add(converter);
}
}
```
这里创建了一个FastJson消息转换器,并添加了支持的MediaTypes类型。最后将FastJson添加到消息转换器列表中。
3. 使用`@RestController`注解创建一个RESTful控制器,并返回一个对象或列表:
```java
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
@RestController
public class HelloController {
@GetMapping("/hello")
public User hello() {
User user = new User();
user.setName("Tom");
user.setAge(20);
user.setBirthday(new Date());
return user;
}
public static class User {
private String name;
private int age;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date birthday;
// 省略getter和setter方法
}
}
```
这里使用`@RestController`注解创建了一个RESTful控制器,并返回一个User对象。在User对象中使用`@JSONField`注解指定日期的格式。
现在,当访问`http://localhost:8080/hello`时,将返回一个JSON格式的User对象。
以上就是使用注解配置Fastjson依赖的步骤。
阅读全文