前言
用于減少實際后端開發(fā)過程中飒焦,每次修改代碼就需要重啟時間欲逃,目前java虛擬機只能實現(xiàn)方法體修改的熱部署灰瞻,對于類的結(jié)構(gòu)修改鸠项,還是需要重啟虛擬機對類重新加載干跛。
SpringBoot熱部署就是在項目正在運行的時候修改代碼, 卻不需要重新啟動項目。
原理
使用了兩個類加載器(ClassLoader),一個ClassLoader加載那些不會改變的類祟绊,(如第三方j(luò)ar)楼入,一個restart ClassLoader加載正在開發(fā)的類,當(dāng)有代碼修改的時候牧抽,原restart ClassLoader被丟棄并創(chuàng)建一個新的restart ClassLoader嘉熊。因為加載的類比較少,所以啟動相對于冷啟動較快扬舒。
熱部署配置
pom.xml文件中引入devtools工具包到項目中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
2.添加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
3.修改idea 配置
image.png
-
按 ctrl+shift+alt+/ 出彈框
image.png
image.png
勾選途中key
5.重啟idea