1. Spring-mvc.xml添加依赖
<mvc:annotation-driven/>
2. pom.xml添加依赖
<!-- json 包 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.11</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.11</version>
</dependency>
3. 在controller中添加如下代码
@RequestMapping("/getAllUsers")
@ResponseBody
public Map<String, Object> getAllUsers() {
Map<String, Object> map = new HashMap<String, Object>();
User user = new User();
user.setUserId(1);
user.setUserName("test1");
user.setUserPassword("test1");
map.put("user", user);
return map;
}
4. 运行结果

5. 相关原理
短短几行配置。使用@ResponseBody注解之后,Controller返回的对象 自动被转换成对应的json数据,在这里不得不感叹SpringMVC的强大。
我们好像也没看到具体的配置,唯一看到的就是spring-mvc.xml中的一句配置:<mvc:annotation-driven/>。其实就是这个配置,导致了java对象自动转换成json对象的现象。
那么spring到底是如何实现java对象到json对象的自动转换的呢? 为什么转换成了json数据?
http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html
转换大体过程
@ResponseBody是一种转换机制;
在pom.xml中加入json依赖,使json成为默认转换器之一;
在转换数据过程中,转换器会自动寻找相应的默认转换器;
6. 参考文献
http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html
浙公网安备 33010602011771号