spring-boot-devtools 熱部署


一、簡單介紹

  spring-boot-devtools是一個為開發者服務的一個模塊,其中最重要的功能就是修改代碼后自動啟動springboot服務,速度比手動停止后再啟動要快,節省出來的並不是手工操作的時間。

二、原理

  主要是使用了兩個ClassLoader,一個Classloader加載不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱為  restart ClassLoader,這樣在有代碼更改的時候,原來的restartClassLoader 被丟棄,重新創建一個restartClassLoader,由於需要加載的類相比較少,所以實現了較快的重啟時間(5秒以內)。

三、配置使用

1.添加maven配置

 

2.添加啟動插件

pom文件添加插件啟動配置,如果沒有fork配置,devtools不起作用,即項目修改后不會重新啟動

 

3.設置項目自動編譯

setting->Build,Execution,Deployment->Compiler找到 Build Project Automatically 
這個選項再Eclipse是默認勾選的,而IDEA要手動勾選。 

 

4.選擇登記

然后找個地方ctrl+shift+alt+/ 調出Maintenance(維護)控制台,選擇Registry(登記) 

勾選運行時自動編譯(compiler.automak.allow.when.app.running) 

 5.驗證

當修改完畢代碼保存后,使用的加載器就變為了 restartedMain 了,說明熱部署已經成功。

 

四、其他

  devtools可以實現頁面熱部署(即頁面修改后會立即生效)

      這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM