spring boot:閃電上手

          spring-boot是什么?
          spring-boot是spring的一個子項目,spring-boot旨在能夠快速構(gòu)建基于spring的獨立的,產(chǎn)品級別的應(yīng)用,擁有“一鍵啟動”,“配置簡約”,“內(nèi)置服務(wù)器”,“應(yīng)用健康檢查”等一系列高逼格的功能。

          spring-boot hello world
          注:這里的hello world并沒有一板一眼的將官網(wǎng)的案例照搬,而是希望以一種最快速的方式構(gòu)建一個由spring boot構(gòu)建的應(yīng)用,讓包括我在內(nèi)的對spring boot陌生的同學(xué)對它有一個最直觀的感受。

          java


          IDE


          Maven(Eclipse內(nèi)置)

          你也可以自行配置一個外部Maven,隨意

          接下來我們新建一個Maven項目,我們選取webapp模板



          搭建完畢之后,我們需要修改pom.xml文件,將spring boot相關(guān)的依賴添加進(jìn)去
          首先,添加parent節(jié)點到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”,可以輕松的添加相關(guān)的jar到項目的類路徑下,而spring-boot-starter-parent節(jié)點則是一個特殊的“starter”,它提供了很多maven默認(rèn)的依賴,并且提供了依賴管理,使得我們可以忽略依賴的版本號,也就是說我們無需再聲明version標(biāo)識。

          *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>
          之后我們看到構(gòu)建web應(yīng)用所需的jar包已經(jīng)添加到Maven依賴中了


          更多關(guān)于“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”,就可以發(fā)現(xiàn),我們的服務(wù)已經(jīng)在本地的8080端口啟動了。

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

          @RestController
          這個注解是“stereotype annotation”(不知道怎么翻譯合適,或許可以理解為“套版注解”),在閱讀代碼的時候給讀者提供必要的提示,對于spring來說,他扮演了一個特別的角色,在案例中他是一個web的控制器,所以spring會用他來處理對應(yīng)的請求。

          @RequestMapping
          用過spring-MVC的同學(xué)都知道,這個注解用來對應(yīng)路由

          @EnableAutoConfiguration
          這個注解就比較牛皮了,也是目前為止個人感覺spring boot強大的地方之一。這個注解告知spring,去通過你添加的依賴,“猜測”你想要怎么去配置spring,比如我們添加了start POM spring-boot-starter-web,那么spring會認(rèn)為我們需要部署一個web應(yīng)用,所以spring boot幫助我們啟動tomcat服務(wù),配置springMVC等操作。官方文檔同時提到,@EnableAutoConfiguration注解在設(shè)計時就與start POMs協(xié)作良好,但是二者并不絕對相關(guān),就算沒有start POM,spring boot依然會盡最大努力去自動配置(笑)

          截止目前,排除細(xì)節(jié)的情況下,已經(jīng)通過最簡單粗暴的方式構(gòu)造了一個spring boot的應(yīng)用,希望在認(rèn)知上能給大家一點幫助,但是還遠(yuǎn)遠(yuǎn)不夠,后續(xù)還要添加更多與web應(yīng)用相關(guān)的內(nèi)容。

          posted on 2016-06-01 12:00 都較瘦 閱讀(288) 評論(0)  編輯  收藏 所屬分類: spring boot相關(guān)案例積累


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2016年6月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導(dǎo)航

          統(tǒng)計

          公告

          博客定位:囿于目前的水平,博客定位在記錄自己的學(xué)習(xí)心得和隨手的練習(xí)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 林芝县| 揭东县| 青州市| 新安县| 临安市| 大方县| 衡山县| 汽车| 新蔡县| 清涧县| 黑河市| 仙游县| 丰城市| 松滋市| 成武县| 庄浪县| 余干县| 闸北区| 交城县| 九台市| 屏东县| 天津市| 比如县| 高青县| 灵寿县| 洛扎县| 塔河县| 华宁县| 临沂市| 石狮市| 资源县| 吴桥县| 象州县| 阿尔山市| 文化| 庐江县| 桓台县| 衡山县| 西昌市| 疏附县| 凤山市|