Spring boot學習(一)開啟Spring boot之旅
介紹
Spring boot 是基於Spring的一個全新的框架,它的目的是用來簡化Spring應用的初始搭建以及開發過程。如果你以前使用過類似於SSM這種框架,你應該清楚要搭建一個SSM框架需要哪些步驟,Spring boot就簡化甚至消除了這些步驟,你會發現你基本上什麼都不用做,只需要考慮業務邏輯方面的程式碼就可以了,極大的節省了我們的開發時間,這是一個用了就不想換的框架!
文章首發於個人部落格:【 http://www.xiongfrblog.cn 】
搭建一個簡單的Spring boot應用
不同的開發工具有不同的方式,其中IDEA已經集成了Spring boot的外掛,直接新建就可以了,eclipse需要自己安裝外掛才能使用。這裡我就只介紹通過 http://start.spring.io/ 來構建一個Spring boot專案。
生成專案檔案
訪問 http://start.spring.io/ ,出現下面的頁面:

在這裡插入圖片描述
從圖中可以看到預設是通過 Maven
構建專案,並且使用 Java
語言,Spring boot使用 2.1.2
版本,這些我們根據自己實際需求更改,我這裡就使用預設的,接下來完善頁面資訊,由於我們只是搭建一個簡單的Spring boot專案Demo,這裡所有的資訊使用預設的即可。點選頁面上的 Switch to the full version
,出現更多的配置以及讓我們選擇的依賴項,配置我們不用管,勾選上web依賴就可以了,如下圖:

在這裡插入圖片描述
最後我們點選 generate project
按鈕生成專案檔案,檔案是一個壓縮包,選擇儲存的路徑下載到本地。
匯入到開發工具
將我們上一步下載的壓縮包解壓,然後以Maven專案的形式匯入到我們使用的開發工具中(我這裡使用的eclipse),這個步驟可能會需要一會兒時間,耐心等待即可,專案匯入成功後項目的結構如下:

在這裡插入圖片描述
會發現在 src/main/java
目錄下的 com.example.demo
包下為我們生成了一個 DemoApplication.java
的檔案,這是我們專案的入口類,名字是按 ArtifactId+Application
的命名規則生成的。
在 src/main/resources
目錄下生成了 application.properties
配置檔案,以後專案有關的配置都寫在這個檔案裡邊。
在 src/main/resources
目錄下還為我們建立了 static
和 templates
資料夾(如果沒有,也不用擔心,需要的時候自己手動新增即可,這裡應該是根據我們選擇的Spring boot版本以及依賴有關)。 static
資料夾一般用來存放專案中的靜態資原始檔例如:css樣式,js指令碼,圖片等, templates
資料夾一般用來存放 html
檔案,Spring boot為我們建立這些資料夾的原因下面會詳細說明,這裡只簡單介紹。
在根目錄下生成了 pom.xml
檔案,該檔案是Maven管理專案依賴的檔案。
重要的檔案就這些,以後隨著專案功能的增加還會自己新增一些檔案,這裡不做過多介紹。
簡單演示
首先我們在 com.exanple.demo
包下邊新建一個 controller
包(注意包名統一小寫),在該包下新建 DemoController.java
檔案,檔案內容如下:
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author Promise * @createTime 2019年1月13日 下午5:15:45 * @description */ @RestController public class DemoController { @RequestMapping("/hello") public String hello() { return "Hello World!"; } }
此時專案結構如下:

在這裡插入圖片描述
接下來需要啟動專案,上邊說過Spring boot為我們自動生成了一個啟動類 DemoApplication.java
我們只需要右鍵點選該啟動類,選擇 Run as
再選擇 Java Application
即可,如圖:

在這裡插入圖片描述
控制檯打印出如下日誌說明啟動成功:

在這裡插入圖片描述
從日誌看出啟動埠為 8080
,此時開啟瀏覽器訪問 localhost:8080/hello
或者 127.0.0.1:8080/hello
即可出現如下內容:

在這裡插入圖片描述
到這一步,一個簡單的Spring boot專案就完成了,是不是很簡單呢。
訪問頁面
實際的web專案中我們總是會訪問 html
頁面,那麼在Spring boot中怎麼訪問頁面呢?下面來介紹建立Spring boot的第一個頁面 index.html
。
在上面介紹過的 src/main/resources
目錄下新建一個資料夾 public
,在 public
資料夾下新建 index.html
,內容如下(隨便寫都行):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>This is my first page!</h1> </body> </html>
按照上邊的步驟重新啟動專案,一定要重新啟動,此時我們還沒有配置Spring boot的熱部署功能,Spring boot不會為我們自動載入更新的內容,需要我們手動啟動,啟動成功後,訪問 localhost:8080
或者 127.0.0.1:8080
出現如下內容說明訪問成功:

在這裡插入圖片描述
至此,我們已經通過Spring boot成功訪問到第一個頁面了,到這裡,細心的小夥伴也許會發現,上邊我說過 src/main/resources
下的 templates
資料夾是用來存放 html
檔案的,為什麼我們這裡要將 index.html
放在 public
資料夾下呢?
注意
因為這裡我們沒有使用例如 thymeleaf
、 FreeMaker
、 Velocity
、 JSP
等模板引擎,所以我們的 html
檔案必須按照Spring boot的約定放在特定的目錄下,例如 public
。但是在實際的專案中(前後端分離專案除外)我們一般都會選擇一個模板引擎來渲染頁面資料以及做一些邏輯判斷,比如筆者用的就是 thymeleaf
,專案中的 html
檔案一般都放在 templates
目錄下。
約定大於配置
Spring boot中有很多約定俗成的配置需要我們遵守,不然會有很糟糕的體驗,正所謂 約定大於配置 。
- Spring boot預設提供靜態資源目錄位置需置於classpath下,即上面說的
src/main/resources
目錄下,並且靜態資源存放的目錄必須符合以下規則(目錄名字不能隨意更改):
- /META-INF/resources
- /resources
- /static
- /public
並且他們的優先順序從高到低,即 /META-INF/resources
> /resources
> /static
> /public
,在訪問靜態資源時,Spring boot會按照優先順序從上面的目錄中尋找,驗證這一點很簡單,上邊我們在 public
目錄下新建了 index.html
檔案,現在我們在 static
目錄下同樣新建 index.html
檔案,寫不同的內容,重啟專案,再次訪問 localhost:8080
或者 127.0.0.1:8080
你會發現此時顯示的就是 static
目錄下的 index.html
檔案中的內容。
server.port=1188
在yml檔案中則是:
server: port: 1188
正是這些約定使得Spring boot變得如此簡單。
結語
好了,到這裡相信你已經對Spring boot有了一個大概的瞭解,關於Spring boot的更多內容博主會繼續更新,bye~