一、什么是热部署

在我们测试部分代码时,不需要我们手动去启动项目。但是这样可能导致缓存存在,就是不会更新到我们最新的代码。当然这个bug概率是比较小的。如果发现,重启也就能解决。

二、什么是SpringBoot热部署?

有了SpringBoot热部署后大大提高了开发效率,因为频繁的重启项目,势必会浪费很多时间, 有了热部署后,妈妈再也不用担心我修改代码重启项目了~~~因为他只会重新加载我们更新的代码,但如果你新建了类,或者文件,记得重启应用!

三、SpringBoot热部署的流程

1.pom文件中导入 spring-boot-devtools 依赖:

<!--SpringBoot热部署配置 --><br><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.设置application.ymal

devtools:
    restart:
      enabled: true  #设置开启热部署
      additional-paths: src/main/java #重启目录

配置文件,基本都使用 ymal,后缀名可以为yml,因为这种配置格式更具有结构性。


4.在idea中设置自动编译:

首先 ctrl+alt+s 打开设置(Other Settings 的设置是对整个工作空间项目都启作用,而Settings…的设置是对整个项目启作用),搜索Compliler,勾选 Build project automatically,如下图所示:

sprint boot热部署(图1)

5.按住ctrl + shift + alt + /,出现如下图所示界面,点击Registry...,如下图:

sprint boot热部署(图2)

  点击进入后,勾选compiler.automake.allow.when.app.running 后关闭即可,记住最后是不勾选的

sprint boot热部署(图3)

通过以上步骤,就完成了SpringBoot项目的热部署功能!!!

6.对热部署测试是否成功:

重新启动项目,然后修改代码就会发现它自动会给我们部署。

sprint boot热部署(图4)

说明我们的热部署配置生效啦~~~