8月24日的文章“全栈工程师移动开发实践━Restful与Spring Boot详解”中,我向大家介绍了Spring Boot的maven配置,今天我们来看看Spring Boot的第一个应用,也即一门语言的标配--Hello World的实现,也是为我们之后的app与server之间交互打下基础。
1.首先在配置好Spring Boot依赖的工程中,新建一个java类,如下,命名为RestfulDemo:
2.接下来重点讲解这个类中的每个细节。
(1)@RestController和@RequestMapping注解
RestfulDemo类的上面使用的第一个注解是@RestController,它通常被称为一个构造型(stereotype)注解。RestController本身不是Spring Boot特有的,它继承自@Controller注解。Controller用来标识当前类是一个控制器servlet。在本示例中,我们的类是一个web @Controller,所以当处理进来的web请求时,Spring会询问它。RestController相当于@ResponseBody + @Controller。ResponseBody用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区,当返回的数据是json、xml等时使用。
(2)@RequestMapping注解
RequestMapping注解主要用来提供路由信息,它告诉Spring任何来自"/"路径的HTTP请求都应该被映射到home方法。RequestMapping注解有六个属性,下面我们把她分成三类进行说明。
value: 指定请求的实际地址;
method:指定请求的method类型, GET、POST、PUT、DELETE等;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
(3)@EnableAutoConfiguration注解
EnableAutoConfiguration是Spring Boot根据我们在pom中设置的依赖自动配置spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration默认我们在开发一个web应用并相应地对Spring进行设置,当然我们也可以手动配置。
(4)SpringApplication类
在main方法通过调用SpringApplication类的run,将业务委托给了Spring Boot,启动Spring,相应地启动被自动配置的Tomcat web服务器。
3.应用程序的运行
Spring Boot的运行有几种方式,在这里我介绍两种。
(1)MyEclipse启动
右键单击RestfulDemo类->Run As->Java Application
如果看到图中红色的提示语,说明项目正常启动,此时在浏览器输入http://localhost:8080/,就能看到“Hello World!”的输出。
(2)使用maven命令行启动
当前我们的pc如果配置了maven,也可以在命令行下启动。由于使用了spring-boot-starter-parent的依赖,这样我们就有了一个非常有用的run目标。命令行进入到工程根目录,输入
mvn spring-boot:run来启动应用:
maven会下载一些依赖,初始化组件,最终也会打印出Tomcat启动成功的信息。
至此,Spring Boot的Hello World应用完美启动。下一节,我们将搭建android客户端基本框架,欢迎继续关注。