一、介绍
1.什么是热部署
通过一个插件程序监听我们的应用和配置文件,会经过我们的类路径classpath或者资源文件路径,去监听里面有变化没,如果有变化会启动类加载器,如果是Java文件会加载到jvm里面,这样我们就能马上使用了。
2.为什么需要热部署
项目开发中每更改一次类文件,都需要关闭应用,重启一下。这个再开发过程中效率比较低,所以我们引入了热部署。
二、maven文件配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
三、代码部分
@RestController
public class GetController {
@GetMapping("/test")
public Object test(){
String msg = "测试热部署";
System.out.println("热加载");
return msg;
}
}
一个简单的小程序大家可以自行测试。
有些文件我们可能不需要它热部署,那么就可以通过配置文件来指定
application.properties
#指定某些文件不进行监听,即不会进行热加载
spring.devtools.restart.exclude=application.properties
#通过触发器,去控制什么时候进行热加载部署新的文件
spring.devtools.restart.trigger-file=trigger.txt
手工触发重启 spring.devtools.restart.trigger-file=trigger.txt 改代码不重启,通过一个文本去控制
我们的trigger.txt 里面初始version=1,每当修改过后,可以修改版本号进行控制。