springboot-devtools 熱部署
添加依賴jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
添加 spring-boot-devtools。jar 之后就可以實現熱部署了
- 【說明】1:
spring-boot-devtools
熱部署是對修改的類和配置文件進行重新加載,所以在重新加載的過程中會看到項目啟動的過程,其本質上這個時候只是對修改類和配置文件的重新加載,所以速度極快; - 【說明】2:
spring-boot-devtools
對于前端使用模板引擎的項目,能夠自動禁用緩存,在頁面修改后,只需要刷新瀏覽器器頁面即可; - 【說明】3: 為什么在 idea 中
spring-boot-devtools
沒有熱部署? 因為在Idea 中自動編譯默認是停用的,啟用路徑build -> compile -> buildProjectAutomatically
- 【說明】4: 為什么在 idea 中啟用自動編譯依然沒有熱部署? idea監測到項目runninng 或者 debuging 會停用自動編譯,所以還需要手動biild [Ctrl + F9] 或者 [ctrl + b]
熱部署一般是開發過程中使用,開發者不想因為修改內容后重啟server浪費大量的時間,而是希望修改代碼后能夠快速加載自己修改的方法或者類。節省開發時間,為開發者提供改好的開發體驗。
IDEA本身提供了熱部署功能,但是限制性比較大,只能對靜態資源的修改、方法內的修改才能進行熱更新,對于方法參數或者方法類的修改不能進行熱部署,但是像devtools,jrebel 都能夠對類的修改進行重新加載。