参考网上总结如下
热部署的方式
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。
devtools的原理
深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
1. devtools的方式
pom.xml文件,加入依赖
<!--添加热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
另外在<build>下<plugins>加入依赖
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
第二步、设置IDEA的自动编译:
(1)勾选 Build Project automatically
(2)快捷键 command+option+shift+ /,选择Registry,
windows下 ctrl+shift+alt +/
勾上 Compiler autoMake allow when app running
2. 启动项目设置方式
然后点击刷新 或者command+f10