1. 程式人生 > >實現SpringBoot的熱部署方法(IDEA上操作)

實現SpringBoot的熱部署方法(IDEA上操作)

熱部署原理:

配置檔案中用了spring-boot-devtools主要是因為這是一個為開發者服務的一個模組,其中最重要的功能就是自動應用程式碼更改到最新的App上面去。原理是在發現程式碼有更改之後,重新啟動應用,但是速度比手動停止後再啟動更快。其深層原理是使用了兩個ClassLoader,一個Classloader載入那些不會改變的類(第三方Jar包),另一個ClassLoader載入會更改的類,稱為restart ClassLoader,這樣在有程式碼更改的時候,原來的restart ClassLoader被丟棄,重新建立一個restart ClassLoader,由於需要載入的類相比較少,所以實現了較快的重啟時間。即devtools會監聽classpath下的檔案變動,並且會立即重啟應用(發生在儲存時機)

溫馨提示:使用了熱部署之後,千萬不要頻繁的進行ctrl+s(儲存)操作,因為這樣的話,就會自動進行部署重啟了,這樣會影響效能的哦~

步驟:

(1)pom.xml 新增依賴

<!--配置SpringBoot的熱部署-->  
<dependency>  
   <groupId>org.springframework.boot</groupId>  
   <artifactId>spring-boot-devtools</artifactId>  
   <optional>true</optional>  
</dependency>  


<plugin>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-maven-plugin</artifactId>  
    <configuration>  
    <fork>true</fork><!--注意要修改這裡-->  
    </configuration>  
</plugin>  

(2)在 application.properties 配置檔案中新增快取禁止配置

#禁用快取---要配置,否則無法生效  
spring.thymeleaf.cache=false  
spring.freemarker.cache=false  
spring.groovy.template.cache=false  
spring.velocity.cache=false  

(3)修改 IDEA 的配置

1、按下Ctrl+Shift+A,在彈出的視窗中輸入:make project automatically,輸入完畢後回車會看到以下頁面,根據圖中指示勾上選項,完成後關閉視窗。

2、再按下Ctrl+Shift+A,在彈窗中輸入:Registry,輸入完畢後,滑鼠選中跟下圖所示一樣的選項後並進行回車操作。

3、然後在出現的頁面中,找到如下圖所示的選項,在旁邊的方框中進行勾選。該選項比較靠後,還是比較好找的。

(4)修改瀏覽器中的快取禁止(以谷歌瀏覽器做代表,其他瀏覽器類似)

1、按下Ctrl+Shift+J,開啟開發者功能(或者直接按下 F12 鍵也行),找到Network這一欄並點選。

2、再出現的頁面中,勾選禁止快取,如下圖所示