spring boot:闪电上手

spring-boot是什么?
spring-boot是spring的一个子项目,spring-boot旨在能够快速构建基于spring的独立的,产品级别的应用,拥有“一键启动”,“配置简约”,“内置服务器”,“应用健康检查”等一系列高逼格的功能。

spring-boot hello world
注:这里的hello world并没有一板一眼的将官网的案例照搬,而是希望以一种最快速的方式构建一个由spring boot构建的应用,让包括我在内的对spring boot陌生的同学对它有一个最直观的感受。

java


IDE


Maven(Eclipse内置)

你也可以自行配置一个外部Maven,随意

接下来我们新建一个Maven项目,我们选取webapp模板



搭建完毕之后,我们需要修改pom.xml文件,将spring boot相关的依赖添加进去
首先,添加parent节点到pom.xml
1     <parent>
2         <groupId>org.springframework.boot</groupId>
3         <artifactId>spring-boot-starter-parent</artifactId>
4         <version>1.3.5.RELEASE</version>
5     </parent>
spring boot提供了一系列的“starter POMs”,可以轻松的添加相关的jar到项目的类路径下,而spring-boot-starter-parent节点则是一个特殊的“starter”,它提供了很多maven默认的依赖,并且提供了依赖管理,使得我们可以忽略依赖的版本号,也就是说我们无需再声明version标识。

*starter POMs:可以理解一系列的依赖,每一个依赖都提供了该功能所需的jar包


我们添加spring-boot-starter-web到pom.xml
 1     <parent>
 2         <groupId>org.springframework.boot</groupId>
 3         <artifactId>spring-boot-starter-parent</artifactId>
 4         <version>1.3.5.RELEASE</version>
 5     </parent>
 6     
 7     <dependencies>
 8         <dependency>
 9             <groupId>org.springframework.boot</groupId>
10             <artifactId>spring-boot-starter-web</artifactId>
11         </dependency>
12     </dependencies>
之后我们看到构建web应用所需的jar包已经添加到Maven依赖中了


更多关于“starter”的信息可以查看
http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#using-boot-starter

接下来可以写代码了,添加一个“控制器”到src/main/java/demo下
 1 package demo;
 2 
 3 import org.springframework.boot.*;
 4 import org.springframework.boot.autoconfigure.*;
 5 import org.springframework.web.bind.annotation.*;
 6 
 7 @RestController
 8 @EnableAutoConfiguration
 9 public class Example {
10 
11     @RequestMapping("/")
12     String home() {
13         return "Hello World!";
14     }
15 
16     public static void main(String[] args) throws Exception {
17         SpringApplication.run(Example.class, args);
18     }
19 
20 }
之后我们“run as Java application”或者通过Maven goals“spring-boot:run”,就可以发现,我们的服务已经在本地的8080端口启动了。

是不是太快了...我也这么觉得,真的是“傻瓜式”的部署

@RestController
这个注解是“stereotype annotation”(不知道怎么翻译合适,或许可以理解为“套版注解”),在阅读代码的时候给读者提供必要的提示,对于spring来说,他扮演了一个特别的角色,在案例中他是一个web的控制器,所以spring会用他来处理对应的请求。

@RequestMapping
用过spring-MVC的同学都知道,这个注解用来对应路由

@EnableAutoConfiguration
这个注解就比较牛皮了,也是目前为止个人感觉spring boot强大的地方之一。这个注解告知spring,去通过你添加的依赖,“猜测”你想要怎么去配置spring,比如我们添加了start POM spring-boot-starter-web,那么spring会认为我们需要部署一个web应用,所以spring boot帮助我们启动tomcat服务,配置springMVC等操作。官方文档同时提到,@EnableAutoConfiguration注解在设计时就与start POMs协作良好,但是二者并不绝对相关,就算没有start POM,spring boot依然会尽最大努力去自动配置(笑)

截止目前,排除细节的情况下,已经通过最简单粗暴的方式构造了一个spring boot的应用,希望在认知上能给大家一点帮助,但是还远远不够,后续还要添加更多与web应用相关的内容。

posted on 2016-06-01 12:00 都较瘦 阅读(271) 评论(0)  编辑  收藏 所属分类: spring boot相关案例积累


只有注册用户登录后才能发表评论。


网站导航:
 
<2016年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

公告

博客定位:囿于目前的水平,博客定位在记录自己的学习心得和随手的练习

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜