Spring boot 是基於Spring的一個全新的框架,它的目的是用來簡化Spring應用的初始搭建以及開發過程。若是你之前使用過相似於SSM這種框架,你應該清楚要搭建一個SSM框架須要哪些步驟,Spring boot就簡化甚至消除了這些步驟,你會發現你基本上什麼都不用作,只須要考慮業務邏輯方面的代碼就能夠了,極大的節省了咱們的開發時間,這是一個用了就不想換的框架!css
文章首發於我的博客:【www.xiongfrblog.cn】html
不一樣的開發工具備不一樣的方式,其中IDEA已經集成了Spring boot的插件,直接新建就能夠了,eclipse須要本身安裝插件才能使用。這裏我就只介紹經過http://start.spring.io/ 來構建一個Spring boot項目。java
訪問http://start.spring.io/ ,出現下面的頁面:web
從圖中能夠看到默認是經過Maven
構建項目,而且使用Java
語言,Spring boot使用2.1.2
版本,這些咱們根據本身實際需求更改,我這裏就使用默認的,接下來完善頁面信息,因爲咱們只是搭建一個簡單的Spring boot項目Demo,這裏全部的信息使用默認的便可。點擊頁面上的 Switch to the full version
,出現更多的配置以及讓咱們選擇的依賴項,配置咱們不用管,勾選上web依賴就能夠了,以下圖:spring
最後咱們點擊generate project
按鈕生成項目文件,文件是一個壓縮包,選擇保存的路徑下載到本地。後端
將咱們上一步下載的壓縮包解壓,而後以Maven項目的形式導入到咱們使用的開發工具中(我這裏使用的eclipse),這個步驟可能會須要一下子時間,耐心等待便可,項目導入成功後項目的結構以下:瀏覽器
會發如今src/main/java
目錄下的com.example.demo
包下爲咱們生成了一個DemoApplication.java
的文件,這是咱們項目的入口類,名字是按ArtifactId+Application
的命名規則生成的。springboot
在src/main/resources
目錄下生成了application.properties
配置文件,之後項目有關的配置都寫在這個文件裏邊。bash
在src/main/resources
目錄下還爲咱們建立了static
和templates
文件夾(若是沒有,也不用擔憂,須要的時候本身手動添加便可,這裏應該是根據咱們選擇的Spring boot版本以及依賴有關)。static
文件夾通常用來存放項目中的靜態資源文件例如:css樣式,js腳本,圖片等,templates
文件夾通常用來存放html
文件,Spring boot爲咱們建立這些文件夾的緣由下面會詳細說明,這裏只簡單介紹。app
在根目錄下生成了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中有不少約定俗成的配置須要咱們遵照,否則會有很糟糕的體驗,正所謂約定大於配置。
src/main/resources
目錄下,而且靜態資源存放的目錄必須符合如下規則(目錄名字不能隨意更改):而且他們的優先級從高到低,即/META-INF/resources
>/resources
>/static
>/public
,在訪問靜態資源時,Spring boot會按照優先級從上面的目錄中尋找,驗證這一點很簡單,上邊咱們在public
目錄下新建了index.html
文件,如今咱們在static
目錄下一樣新建index.html
文件,寫不一樣的內容,重啓項目,再次訪問localhost:8080
或者127.0.0.1:8080
你會發現此時顯示的就是static
目錄下的index.html
文件中的內容。
1188
,須要在properties配置文件中寫入:server.port=1188
複製代碼
在yml文件中則是:
server:
port: 1188
複製代碼
正是這些約定使得Spring boot變得如此簡單。
好了,到這裏相信你已經對Spring boot有了一個大概的瞭解,關於Spring boot的更多內容博主會繼續更新,bye~