最新版 IDEA 2022.3.2 中配置熱加載工具 DevTools
在SpringBoot開發除錯中,如果我每行代碼的修改都需要重啟再除錯,可能比較費時間;SpringBoot團隊針對此問題提供了spring-boot-devtools(簡稱devtools)插件,用此插件提升開發除錯的效率,
1、DevTools原理
spring-boot-devtools是spring為開發者提供的熱加載工具包,主要原理是使用了兩個ClassLoader類加載器,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會發生變化的類,稱為restart ClassLoader,這樣在個人代碼更改的時候,原來的restart ClassLoader 被釋放掉,然后重新創建一個restart ClassLoader,由于需要加載的類相比較少,所以實作了加快應用重啟時間,
2、DevTools配置及使用
2.1 引入DevTools依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional等于true,表示該依賴是可選的,不會被依賴傳遞 -->
<optional>true</optional>
</dependency>
2.2 打開IDEA進行全域配置
關閉Idea工程,回傳啟動頁進行全域配置,(不然創建新專案都要重新配置一次挺麻煩的)
2.2.1 Build,Execution,Deployment -> Compiler,勾選 Build project automatically

2.2.2 Advanced Settings,勾選 Allow auto-make to start even if developed application is currently running

以上兩步配置完成后,開發中修改類或組態檔,服務器會自動進行重啟,完成類或組態檔的更新,
3、 使用小技巧
3.1 可修改application.yml檔案開啟或關閉devtools,默認開啟
spring:
devtools:
restart:
enabled: true #設定開啟熱部署
3.2 排除一些不需要自動重啟的資源
某些資源在更改時可能不需要觸發重新啟動,可以使用spring.devtools.restart.exclude屬性添加到排除串列,例如:要僅排除/static,/public你可以進行如下配置:
spring:
devtools:
restart:
exclude: "static/**,public/**" ##排除/static,/public
4、后記
Springboot 中的熱部署相信大家用的最多的就是
DevTools,沒辦法,官推的,同時,devtools 還是有不少缺點的,第一點:devtools 僅局限于Springboot專案,在非Springboot專案中無法使用的;第二點:devtools 功能有限制,方法內的修改可以實作熱部署,但新增的方法或者修改方法引數之后熱部署是不生效的,它與另外一個 IDEA 的熱加載插件JRebel相比,個人覺得無論是加載速度還是使用便捷,JRebel都是完勝,JRebel唯一缺點就是收費 _,
5、傳送門
最新版 IDEA 2022.3.2 熱部署插件 JRebel 安裝注冊完整教程(內附彩蛋)
百度網盤地址:https://pan.baidu.com/s/1Oa6HjzovpoR4l6aHe0V9tQ
密碼:rwgg
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/546425.html
標籤:其他
上一篇:python可變長引數
