
概述
進(jìn)行SpringBoot的Web開發(fā)過程中,我們很多時(shí)候經(jīng)常需要重啟Web服務(wù)器才能保證修改的 源代碼文件、或者一些諸如xml的配置文件、以及一些靜態(tài)文件生效,這樣耗時(shí)又低效。所謂的熱部署指的是我們不需要重啟Web Server就可以保證各項(xiàng)文件修改的立即生效。下面便來介紹一下在IDEA中進(jìn)行SpringBoot的Web開發(fā)時(shí)如何加入熱部署的支持。
這里我們是使用 spring-boot-devtools 來幫助完成這個(gè)事情,其是一個(gè)為開發(fā)者服務(wù)的模塊,可以實(shí)現(xiàn)SpringBoot熱部署。其機(jī)理就是 spring-boot-devtools 會(huì)監(jiān)聽classpath下的文件變動(dòng),變動(dòng)保存生效,其就會(huì)立即重啟應(yīng)用。
注: 本文原載于 My Personal Blog:, CodeSheep · 程序羊 !
pom.xml中添加依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
設(shè)置IDEA環(huán)境自動(dòng)編譯
首先在編譯器選項(xiàng)中選中自動(dòng)編譯工程的選項(xiàng),如下圖所示,

接下來我們利用快捷鍵:Command + Shift + Alt + / 來調(diào)出Registry窗口,然后勾選其中的編譯器自動(dòng)編譯選項(xiàng),如下圖所示:

啟動(dòng)項(xiàng)目并實(shí)驗(yàn)
上面幾個(gè)步驟設(shè)置完成以后,我們?nèi)ロ?xiàng)目的根目錄下執(zhí)行命令來啟動(dòng)SpringBoot應(yīng)用:
mvn clean spring-boot:run
此時(shí)的效果是只要我們修改了編輯區(qū)的源代碼,保存之后,應(yīng)用程序便會(huì)自動(dòng)重啟讓修改生效。
監(jiān)聽文件夾的變化
上面我們是修改源代碼時(shí)的自動(dòng)熱啟動(dòng),除此之外,我們還可以設(shè)置 spring-boot-devtools 來監(jiān)聽某個(gè)文件夾的變化,比如我們想監(jiān)聽某個(gè)靜態(tài)文件夾下文件的變化(如html文件),當(dāng)其下面的文件改變的時(shí)候能夠重新啟動(dòng)SpringBoot,那么我們只要在配置文件 application.properties 中添加如下配置即可:
spring.devtools.restart.additional-paths = src/main/resources/templates
隨后再次實(shí)驗(yàn),取得的效果和之前一樣,熱啟動(dòng)便生效了
后記
由于能力有限,若有錯(cuò)誤或者不當(dāng)之處,還請大家批評(píng)指正,一起學(xué)習(xí)交流!