文章目录
一、什么是热部署?
在应用正在运行的时候升级软件,却不需要重新启动应用。
二、什么是SpringBoot热部署?
在项目正在运行的时候修改代码, 却不需要重新启动项目。
三、SpringBoot热部署的流程
1.pom文件中导入 spring-boot-devtools 依赖:
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
2.继续在pom.xml中添加插件:
<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.ctrl+alt+s打开设置
4.ctrl + shift + alt + /
双击 1.Registry,勾选如图
5.重启idea
6.解决 spring boot devtool 热部署后出现访问404问题
DevTools的检测时间和idea的编译所需时间存在差异。在idea还没完成编译工作前,DevTools就开始进行重启和加载,导致@RequestMapping没有被全部正常处理。其他方法没试,就直接用了看起来最简单的方法:牺牲一点时间,去加长devtools的轮询时间,增大等待时间。
解决方案如下:yml配置文件新增配置
spring.devtools.restart.poll-interval=3000ms
spring.devtools.restart.quiet-period=2999ms
spring:
devtools:
restart:
poll-interval: 3000
quiet-period: 2999