之前每次修改東西后都要重新啟動(dòng)服務(wù)器,正好看到了熱部署,發(fā)現(xiàn)特別好用,記錄一下使用方法,方便自己以后萬一忘記時(shí)用作參考。
首先在idea的File-settings里找到Compiler把Build project automatically(自動(dòng)編譯)打上勾。

但只打開自動(dòng)編譯,運(yùn)行時(shí)時(shí)不生效的。所以要按 ctrl+shift+alt+/ 選擇registry,找到下圖選項(xiàng)并打上勾才能在運(yùn)行時(shí)自動(dòng)編譯。

在pom.xml文件中添devtools依賴。
devtools實(shí)現(xiàn)對(duì)class文件變化的監(jiān)聽,以及頁面的熱部署。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
在application.properties配置文件關(guān)閉緩存,使頁面能夠?qū)崟r(shí)刷新
#關(guān)閉緩存功能
spring.thymeleaf.cache=false
這樣熱部署就可以使用了。
熱部署在檢測(cè)到class類有改變時(shí)會(huì)自動(dòng)重啟,但是和手動(dòng)重啟不同的是它通過兩個(gè)類加載器進(jìn)行文件的加載。一個(gè)加載著不會(huì)改動(dòng)的第三方的依賴包,另一個(gè)加載自己開發(fā)環(huán)境下可能會(huì)進(jìn)行改動(dòng)的內(nèi)容。重啟時(shí)只丟棄加載本地內(nèi)容的加載器并重新創(chuàng)建加載本地內(nèi)容。從而大大減少了重啟所需的時(shí)間。
參考: https://cloud.tencent.com/developer/article/1333953
個(gè)人博客:https://www.rainc.top/2020/01/11/essay/springboot-hotdev