??spring-boot-devtools是為開發(fā)者服務(wù)的一個(gè)模塊,其中最重要的功能是自動(dòng)應(yīng)用代碼更新到App上面去。
一、熱部署原理
??原理是在發(fā)現(xiàn)代碼有更改之后,重新啟動(dòng)應(yīng)用,但是速度比手動(dòng)停止后再啟動(dòng)更快。通過使用兩個(gè)ClassLoader,一個(gè)ClassLoader加載那些不會(huì)改變的類(第三方j(luò)ar包),另一個(gè)ClassLoader加載會(huì)改變的類,稱為restart ClassLoader,這樣在有代碼更改的時(shí)候,原來的restart ClassLoader被丟棄,重新創(chuàng)建一個(gè)restart ClassLoader,由于需要加載的類相對較少,所以實(shí)現(xiàn)了較快的重啟時(shí)間。
??即devtools會(huì)監(jiān)聽classpath下的文件變動(dòng),并且會(huì)立即重啟應(yīng)用。
二、熱部署實(shí)現(xiàn)方式
1.增加maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.開啟熱部署
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>//該配置依據(jù)idea環(huán)境非必須
</configuration>
</plugin>
</plugins>
</build>
三、在idea中額外配置
1.ctrl+shift+A→查找make project automatically→選擇

111.png