一、出现问题
二、解决方法
首先:
- 1、检查Maven依赖是否成功导入,记得clear后刷新!
- 2、更新lib目录,确保加入Maven包
如果不是上面两步出错的话,那我准备的方法可就用上了哦!
1、方法一:
在Spring MVC配置文件中,加上这行代码: <mvc:annotation-driven/>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
<!--
支持mvc注解驱动:
在spring中一般采用@RequestMapping注解来完成映射关系
要想使@RequestMapping注解生效
必须向上下文中注册DefaultAnnotationHandlerMapping
和一个AnnotationMethodHandlerAdapter实例
这两个实例分别在类级别和方法级别处理。
而annotation-driven配置帮助我们自动完成上述两个实例的注入。
-->
<mvc:annotation-driven/>
</beans>
经实测,方法一可行!
若不行的话,降低依赖版本,再次测试!
真的还不行的话,看方法二!
2、方法二:
创建对象映射器、解析成需要的格式!
package com.jin.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jin.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
public class UserController2 {
@RequestMapping(value = "/j2",produces = "application/json;charset=utf-8")
public String json2() throws JsonProcessingException {
//创建对象映射器
ObjectMapper mapper = new ObjectMapper();
ArrayList<User> list = new ArrayList<>();
User user1 = new User("酷小亚","14","男");
User user2 = new User("张三","15","男");
User user3 = new User("李四","16","男");
User user4 = new User("王五","17","男");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
//将对象解析成为json格式
String str = mapper.writeValueAsString(list);
return str;
}
}