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

 

posted on 2017-10-10 15:00  HLX_20170927  阅读(409)  评论(0)    收藏  举报