springboot 使用devtools 工具包热部署

前言

用于减少实际后端开发过程中,每次修改代码就需要重启时间,目前java虚拟机只能实现方法体修改的热部署,对于类的结构修改,还是需要重启虚拟机对类重新加载。
SpringBoot热部署就是在项目正在运行的时候修改代码, 却不需要重新启动项目。

原理

使用了两个类加载器(ClassLoader),一个ClassLoader加载那些不会改变的类,(如第三方jar),一个restart ClassLoader加载正在开发的类,当有代码修改的时候,原restart ClassLoader被丢弃并创建一个新的restart ClassLoader。因为加载的类比较少,所以启动相对于冷启动较快。

热部署配置

pom.xml文件中引入devtools工具包到项目中

      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

2.添加

   <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.修改idea 配置


image.png
  1. 按 ctrl+shift+alt+/ 出弹框


    image.png

    image.png

    勾选途中key
    5.重启idea

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容