首页 > 编程语言 > 详细

spring boot:闪电上手

时间:2016-06-02 02:01:44      阅读:281      评论:0      收藏:0      [点我收藏+]

spring boot:闪电上手

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

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

java
bubuko.com,布布扣

IDE
bubuko.com,布布扣

Maven(Eclipse内置)
bubuko.com,布布扣
你也可以自行配置一个外部Maven,随意

接下来我们新建一个Maven项目,我们选取webapp模板
bubuko.com,布布扣
bubuko.com,布布扣

搭建完毕之后,我们需要修改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依赖中了
bubuko.com,布布扣

更多关于“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端口启动了。
bubuko.com,布布扣
是不是太快了...我也这么觉得,真的是“傻瓜式”的部署

@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应用相关的内容。

spring boot:闪电上手

原文:http://www.blogjava.net/produ/archive/2016/06/01/430728.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!