springboot devtools热启动

热加载在pom.xml中添加devtools的maven引用,同时在plugin中添加devtools生效标志

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <version>2.2.5.RELEASE</version>
 </dependency>
        
 <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <fork>true</fork>  <!-- 如果没有该生效标志,热部署的devtools不生效 -->
    </configuration>
</plugin>

2、Idea设置

于热部署是监听 Class 文件的变化,它自身不会主动去编译 Java 文件,所以我们得在 Java 文件改动时,自动编译成 Class 文件,然后热部署工具创造的新的类加载器才会加载改变后的 Class 文件。

所以,如果你使用 IDEA 开发工具的话,记得要把自动编译打开。

File | Settings | Build, Execution, Deployment | Compiler :该√的√上

在这里插入图片描述

3、修改IDEA的 Registry

开启自动编译,还差一步。

所以,如果你使用 IDEA 开发工具的话,记得要把自动编译打开。

再执行 shift+ctrl+alt+/ 快捷键
在这里插入图片描述

在这里插入图片描述

在配置文件application.yml

热部署生效:在配置文件application.yml中添加 :

spring:
  devtools:
    restart:
      enabled: true#设置开启热部署 默认true
    remote:
      restart:
        enabled: true #设置开启远程热部署

4 重启idea,运行工程

注意:这种配置启动不能直接运行 main 方法了,需要使用 mvn spring-boot:run 启动,

运行:mvn clean spring-boot:run

问题:

springBoot框架 只是实现了热启动而已,从控制台日志就可以看出来。

原文地址:https://www.cnblogs.com/happyday56/p/13872265.html