我一直在尝试一个人写demo(Android和iOS)时,如何模拟服务器端返回的 JSON 数据,总的来说,我试过以下几种:
- 纯Servlet开发,这种方式配合 tomcat+gson,可以很快搭建出服务器端的环境,输出 JSON 数据
- Spring MVC,这种方式配合mybatis是目前中大型项目服务器端开发技术的首选,对于个人开发而言,配置环境有点复杂
- Spring Boot,这种构建于Spring之上的快速开发框架,很容易上手并且简单、高效,对于我这种人来说正好合适,哈哈,前几天花了一点时间跑了一下,把心得记录一下,这也是我在简书的第一篇日志,写得不好,不要见怪~~废话不说,入正题
开发工具:spring-tool-suite-3.7.3
开发步骤:
搭建Maven的环境,不然开发太不方便了,下载Maven,设置环境变量,配置settings.xml,设置本地仓库,这里就不再赘述了,网上一搜一大堆
设置STS的 Maven(Window-Preferences-Maven-User Settings),设置User Settings为上面的settings.xml
创建一个基于maven 的项目,pom文件中加入 Spring Boot 需要的库
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 创建Model对象,一看就懂了
public class User {
private String username;
private String classname;
private String stuno;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getClassname() {
return classname;
}
public void setClassname(String classname) {
this.classname = classname;
}
public String getStuno() {
return stuno;
}
public void setStuno(String stuno) {
this.stuno = stuno;
}
}
- 创建Controller,用 @RestController 可以直接返回JSON数据,@EnableAutoConfiguration 启动自动配置,不需要进行复杂的xml的配置了,这里主要是返回一个 User 对象的 JSON 数组
@RestController
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/")
public List<User> home() {
List<User> users = new ArrayList<User>();
for (int i = 0; i < 3; i++) {
User user = new User();
user.setClassname("软件" + i);
user.setStuno("10000" + i);
user.setUsername("张三" + i);
users.add(user);
}
return users;
}
}
- 创建Main函数,直接运行上述的 SampleController
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}
- 以Java Application直接运行App.java
- 由于内置了tomcat,运行起来以后,直接通过浏览器访问 http://localhost:8080/ 就可以看到返回的 JSON 数据了 ~~ OK,完成,是不是很简单