介紹
Spring boot 是基于Spring的一個(gè)全新的框架,它的目的是用來簡化Spring應(yīng)用的初始搭建以及開發(fā)過程肝匆。如果你以前使用過類似于SSM這種框架,你應(yīng)該清楚要搭建一個(gè)SSM框架需要哪些步驟嘲驾,Spring boot就簡化甚至消除了這些步驟绢要,你會(huì)發(fā)現(xiàn)你基本上什么都不用做,只需要考慮業(yè)務(wù)邏輯方面的代碼就可以了蓄拣,極大的節(jié)省了我們的開發(fā)時(shí)間扬虚,這是一個(gè)用了就不想換的框架!
文章首發(fā)于個(gè)人博客:【http://www.xiongfrblog.cn】
搭建一個(gè)簡單的Spring boot應(yīng)用
不同的開發(fā)工具有不同的方式球恤,其中IDEA已經(jīng)集成了Spring boot的插件,直接新建就可以了辜昵,eclipse需要自己安裝插件才能使用。這里我就只介紹通過http://start.spring.io/ 來構(gòu)建一個(gè)Spring boot項(xiàng)目碎捺。
生成項(xiàng)目文件
訪問http://start.spring.io/ 路鹰,出現(xiàn)下面的頁面:
從圖中可以看到默認(rèn)是通過Maven
構(gòu)建項(xiàng)目,并且使用Java
語言收厨,Spring boot使用2.1.2
版本晋柱,這些我們根據(jù)自己實(shí)際需求更改,我這里就使用默認(rèn)的诵叁,接下來完善頁面信息雁竞,由于我們只是搭建一個(gè)簡單的Spring boot項(xiàng)目Demo,這里所有的信息使用默認(rèn)的即可拧额。點(diǎn)擊頁面上的 Switch to the full version
碑诉,出現(xiàn)更多的配置以及讓我們選擇的依賴項(xiàng),配置我們不用管侥锦,勾選上web依賴就可以了进栽,如下圖:
最后我們點(diǎn)擊generate project
按鈕生成項(xiàng)目文件,文件是一個(gè)壓縮包恭垦,選擇保存的路徑下載到本地快毛。
導(dǎo)入到開發(fā)工具
將我們上一步下載的壓縮包解壓格嗅,然后以Maven項(xiàng)目的形式導(dǎo)入到我們使用的開發(fā)工具中(我這里使用的eclipse),這個(gè)步驟可能會(huì)需要一會(huì)兒時(shí)間,耐心等待即可唠帝,項(xiàng)目導(dǎo)入成功后項(xiàng)目的結(jié)構(gòu)如下:
會(huì)發(fā)現(xiàn)在src/main/java
目錄下的com.example.demo
包下為我們生成了一個(gè)DemoApplication.java
的文件屯掖,這是我們項(xiàng)目的入口類,名字是按ArtifactId+Application
的命名規(guī)則生成的襟衰。
在src/main/resources
目錄下生成了application.properties
配置文件贴铜,以后項(xiàng)目有關(guān)的配置都寫在這個(gè)文件里邊。
在src/main/resources
目錄下還為我們創(chuàng)建了static
和templates
文件夾(如果沒有瀑晒,也不用擔(dān)心绍坝,需要的時(shí)候自己手動(dòng)添加即可,這里應(yīng)該是根據(jù)我們選擇的Spring boot版本以及依賴有關(guān))瑰妄。static
文件夾一般用來存放項(xiàng)目中的靜態(tài)資源文件例如:css樣式陷嘴,js腳本,圖片等间坐,templates
文件夾一般用來存放html
文件灾挨,Spring boot為我們創(chuàng)建這些文件夾的原因下面會(huì)詳細(xì)說明,這里只簡單介紹竹宋。
在根目錄下生成了pom.xml
文件劳澄,該文件是Maven管理項(xiàng)目依賴的文件。
重要的文件就這些蜈七,以后隨著項(xiàng)目功能的增加還會(huì)自己添加一些文件秒拔,這里不做過多介紹。
簡單演示
首先我們?cè)?code>com.exanple.demo包下邊新建一個(gè)controller
包(注意包名統(tǒng)一小寫)飒硅,在該包下新建DemoController.java
文件砂缩,文件內(nèi)容如下:
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!";
}
}
此時(shí)項(xiàng)目結(jié)構(gòu)如下:
接下來需要啟動(dòng)項(xiàng)目,上邊說過Spring boot為我們自動(dòng)生成了一個(gè)啟動(dòng)類DemoApplication.java
我們只需要右鍵點(diǎn)擊該啟動(dòng)類三娩,選擇Run as
再選擇Java Application
即可庵芭,如圖:
控制臺(tái)打印出如下日志說明啟動(dòng)成功:
從日志看出啟動(dòng)端口為8080
,此時(shí)打開瀏覽器訪問localhost:8080/hello
或者127.0.0.1:8080/hello
即可出現(xiàn)如下內(nèi)容:
到這一步,一個(gè)簡單的Spring boot項(xiàng)目就完成了雀监,是不是很簡單呢双吆。
訪問頁面
實(shí)際的web項(xiàng)目中我們總是會(huì)訪問html
頁面,那么在Spring boot中怎么訪問頁面呢会前?下面來介紹創(chuàng)建Spring boot的第一個(gè)頁面index.html
好乐。
在上面介紹過的src/main/resources
目錄下新建一個(gè)文件夾public
,在public
文件夾下新建index.html
瓦宜,內(nèi)容如下(隨便寫都行):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>This is my first page蔚万!</h1>
</body>
</html>
按照上邊的步驟重新啟動(dòng)項(xiàng)目,一定要重新啟動(dòng)临庇,此時(shí)我們還沒有配置Spring boot的熱部署功能笛坦,Spring boot不會(huì)為我們自動(dòng)加載更新的內(nèi)容区转,需要我們手動(dòng)啟動(dòng),啟動(dòng)成功后版扩,訪問localhost:8080
或者127.0.0.1:8080
出現(xiàn)如下內(nèi)容說明訪問成功:
至此,我們已經(jīng)通過Spring boot成功訪問到第一個(gè)頁面了侄泽,到這里礁芦,細(xì)心的小伙伴也許會(huì)發(fā)現(xiàn),上邊我說過src/main/resources
下的templates
文件夾是用來存放html
文件的悼尾,為什么我們這里要將index.html
放在public
文件夾下呢柿扣?
注意
因?yàn)檫@里我們沒有使用例如thymeleaf
、FreeMaker
闺魏、Velocity
未状、JSP
等模板引擎,所以我們的html
文件必須按照Spring boot的約定放在特定的目錄下,例如public
析桥。但是在實(shí)際的項(xiàng)目中(前后端分離項(xiàng)目除外)我們一般都會(huì)選擇一個(gè)模板引擎來渲染頁面數(shù)據(jù)以及做一些邏輯判斷司草,比如筆者用的就是thymeleaf
,項(xiàng)目中的html
文件一般都放在templates
目錄下。
約定大于配置
Spring boot中有很多約定俗成的配置需要我們遵守泡仗,不然會(huì)有很糟糕的體驗(yàn)埋虹,正所謂約定大于配置。
- Spring boot默認(rèn)提供靜態(tài)資源目錄位置需置于classpath下娩怎,即上面說的
src/main/resources
目錄下搔课,并且靜態(tài)資源存放的目錄必須符合以下規(guī)則(目錄名字不能隨意更改):
- /META-INF/resources
- /resources
- /static
- /public
并且他們的優(yōu)先級(jí)從高到低,即/META-INF/resources
>/resources
>/static
>/public
,在訪問靜態(tài)資源時(shí)截亦,Spring boot會(huì)按照優(yōu)先級(jí)從上面的目錄中尋找爬泥,驗(yàn)證這一點(diǎn)很簡單,上邊我們?cè)?code>public目錄下新建了index.html
文件崩瓤,現(xiàn)在我們?cè)?code>static目錄下同樣新建index.html
文件袍啡,寫不同的內(nèi)容,重啟項(xiàng)目谷遂,再次訪問localhost:8080
或者127.0.0.1:8080
你會(huì)發(fā)現(xiàn)此時(shí)顯示的就是static
目錄下的index.html
文件中的內(nèi)容葬馋。
- Spring boot默認(rèn)的配置文件必須是,也只能是application或application-xxx命名的yml文件或者properties文件肾扰,當(dāng)然我們也可以自己創(chuàng)建額外的配置文件畴嘶,但需要其他的配置,以后會(huì)介紹集晚,這里不做過多概述窗悯。
- 在yml文件或者properties文件中配置Spring boot的某些功能時(shí),必須指定特定變量的值偷拔,比如我們想要修改項(xiàng)目啟動(dòng)的端口為
1188
蒋院,需要在properties配置文件中寫入:
server.port=1188
在yml文件中則是:
server:
port: 1188
正是這些約定使得Spring boot變得如此簡單亏钩。
結(jié)語
好了,到這里相信你已經(jīng)對(duì)Spring boot有了一個(gè)大概的了解欺旧,關(guān)于Spring boot的更多內(nèi)容博主會(huì)繼續(xù)更新姑丑,bye~