進行SpringBoot的Web開發過程當中,咱們不少時候常常須要重啓Web服務器才能保證修改的 源代碼文件、或者一些諸如xml的配置文件、以及一些靜態文件生效,這樣耗時又低效。所謂的熱部署指的是咱們不須要重啓Web Server就能夠保證各項文件修改的當即生效。下面便來介紹一下在IDEA中進行SpringBoot的Web開發時如何加入熱部署的支持。html
這裏咱們是使用 spring-boot-devtools
來幫助完成這個事情,其是一個爲開發者服務的模塊,能夠實現SpringBoot熱部署。其機理就是 spring-boot-devtools
會監聽classpath下的文件變更,變更保存生效,其就會當即重啓應用。spring
注: 本文首發於 My 公衆號 CodeSheep ,可 長按 或 掃描 下面的 當心心 來訂閱 ↓ ↓ ↓編程
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
複製代碼
首先在編譯器選項中選中自動編譯工程的選項,以下圖所示,c#
接下來咱們利用快捷鍵:Command + Shift + Alt + / 來調出Registry窗口,而後勾選其中的編譯器自動編譯選項,以下圖所示:bash
上面幾個步驟設置完成之後,咱們去項目的根目錄下執行命令來啓動SpringBoot應用:服務器
mvn clean spring-boot:run
複製代碼
此時的效果是隻要咱們修改了編輯區的源代碼,保存以後,應用程序便會自動重啓讓修改生效。app
上面咱們是修改源代碼時的自動熱啓動,除此以外,咱們還能夠設置 spring-boot-devtools
來監聽某個文件夾的變化,好比咱們想監聽某個靜態文件夾下文件的變化(如html文件),當其下面的文件改變的時候可以從新啓動SpringBoot,那麼咱們只要在配置文件 application.properties
中添加以下配置便可:框架
spring.devtools.restart.additional-paths = src/main/resources/templates
複製代碼
隨後再次實驗,取得的效果和以前同樣,熱啓動便生效了spring-boot
做者更多的SpringBt實踐文章在此:
若是有興趣,也能夠抽點時間看看做者一些關於容器化、微服務化方面的文章: