SpringBoot2.X 入門(一)——開箱即用

 

SpringBoot 2.x入門書籍下載: https://t00y.com/dir/22083442-36337099-378043

 

Spring Boot是什麼

 

 

 

從根本上來講Spring Boot就是一些庫的集合,是一個基於“約定優於配置”的原則,快速搭建應用的框架。本質上依然Spring,在這之上幫我們省去了很多樣板化的配置,使得我們能夠更專注於應用程序功能的開發。

 

 

 

 

Spring Boot精要

 

 

 

SpringBoot將很多魔法帶入了Spring應用程序的開發之中,其中最重要的是以下四個核心

 

 

 

  • 自動配置:針對常見的應用功能,SpringBoot自動提供相關的配置,減少用於樣板化配置的時間

  • 起步依賴:指定基於功能的依賴,用更大粒度的依賴來降低依賴的複雜度

  • 命令行界面:這是SpringBoot的可選特性,藉此你只需要寫代碼就能完成完整的應用程序,無需傳統項目構建

  • Actuator:讓你能夠深入運行中的SpringBoot應用程序一探究竟

 

 

 

 

從Spring開始

 

 

 

爲了體現SpringBoot的優勢,我們先來看看如果使用Spring開發一個簡單的Hello World Web應用程序,我們需要做的事情:

 

 

 

  • 一個項目結構,其中有一個包含必要依賴的Maven或者Gradle構件文件,最起碼要有Spring MVC和Servlet API這些依賴

  • 一個web.xml文件(或者一個WebApplicationInitializer實現),其中聲明瞭Spring的DispatcherServlet

  • 一個啓用Spring MVC的Spring配置

  • 一個控制器類,以"Hello World"響應HTTP請求

  • 一個用於部署應用程序的Web應用服務器,比如Tomcat

 

 

 

 

可以看到上面一系列的事中只有編寫控制器是和HelloWorld功能相關的,雖然現代的IDE也能幫我們簡化掉一些步驟,但是Spring相關的配置就算從別的工程拷貝也還是逃不了這一步。

 

 

 

 

接下來讓我們來看下用Spring Boot是什麼樣的情況。

 

 

 

 

Spring Boot開箱即用

 

你上次在超市或大型零售商店自己推開門是什麼時候?大多數大型商店都安裝了帶感應功能的自動門,雖然所有門都能讓你進入建築物內,但自動門不用你動手推拉。 與之類似,很多公共場所的衛生間裏都裝有自動感應水龍頭和自動感應紙巾機。雖然沒有超市自動門這麼普及,但這些設施同樣對你沒有太多要求,可以很方便地出水和紙巾。 我敢打賭你也能想出無數例子,證明設備讓現代生活更加自動化,而不是增加障礙。

 

 

下面通過一個例子來展示Spring Boot是如何開箱即用的。 依然是Hello World Web項目,我們來看下如何用InteliJ IDEA來創建。 點擊IDEA的File-New-Project...,選擇左邊選項卡中的Spring Initializr,可以看到如下界面。

 

 

 

 

使用默認的https://start.spring.io,這將會連接網絡,查詢Spring Boot當前可用版本和組件列表。(當前時間用的是Spring Boot的2.0.0.RELEASE)

 

 

 

Next-輸入項目信息-Next,來到選擇起步依賴界面,如下:

 

 

對於一個簡單的Hello World Web項目來說,這裏只用勾選Web即可(我在這裏另外勾選了Thymeleaf,在窗口的最右邊可以看到)。 在這個界面可以看到Spring Boot爲我們提供的大量的起步依賴。我們所勾選的web會爲我們注入Web相關的所有依賴,省去我們自己配置依賴的時間。

 

 

 

再點擊一次Next工程就新建完成了,等待下載相關的Maven依賴(第一次所花費的時間可能比較久)和IDEA創建索引。

 

 

 

創建完成後,項目結構如下圖所示:

 

 

是一個常見的Maven項目結構,比較特別的是Spring Boot爲我們自動生成了2個文件,application.properties和BlogDemoApplication.java。

 

 

 

application.properties是Spirng Boot默認的配置文件,當期是個空文件,現在不用理會後面會細講。

 

 

 

BlogDemoApplication.java是Spring Boot自動生成的啓動類。有了這個類,現在這個項目已經是一個可以啓動的Web項目了,雖然還沒有任何控制器,我們依然可以試着訪問默認端口8080。 如果IDEA沒有自動創建啓動配置,可以自行到Run/Debug Configurations裏添加。添加時選擇Spring Boot,在右邊選框的"Main class"中選擇自動生成的啓動類,如下:

 

 

點擊運行後,訪問8080端口將得到Spring Boot默認的錯誤頁:

 

 

接着就可以開發我們的功能了——Hello World。

 

@Controller@RequestMapping("/demo")
public class HelloWorldController {   
   @RequestMapping("/hello")    
   @ResponseBody
    public String hello(){
        return "hello";
    }
}

 

很簡單一個Controller,最後再次啓動項目,已經能愉快的hello了!

 

 

 

小結

 

回顧一下,去掉囉嗦的介紹,實際上的操作只有點點點、輸入項目名、再編寫一下Controller就完成了一個Hello World。彷彿回到了初學Java的年代,那時候還是Eclipse,也是點點點、輸入項目名、然後編寫一個main方法控制檯輸出一個hello。步驟相似,然而這次得到的已然是一個擁有衆多Spring特性的一個Web工程。



作者:網易雲社區
鏈接:https://www.jianshu.com/p/7d13d8b18a41
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章