前言
用于减少实际后端开发过程中,每次修改代码就需要重启时间,目前java虚拟机只能实现方法体修改的热部署,对于类的结构修改,还是需要重启虚拟机对类重新加载。
SpringBoot热部署就是在项目正在运行的时候修改代码, 却不需要重新启动项目。
原理
使用了两个类加载器(ClassLoader),一个ClassLoader加载那些不会改变的类,(如第三方jar),一个restart ClassLoader加载正在开发的类,当有代码修改的时候,原restart ClassLoader被丢弃并创建一个新的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 配置
![](https://img.haomeiwen.com/i14185768/65afcfa353e16f7f.png)
-
按 ctrl+shift+alt+/ 出弹框
image.png
image.png
勾选途中key
5.重启idea
网友评论