SpringBoot热部署启动关闭流程详解

2023-05-17 05:05:07 部署 流程 详解

一、pom.xml导入坐标

SpringBoot工程的pom.xml配置文件中,添加以下依赖

        <!--手工启动热部署,用到的开发工具依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

二、手工启动热部署

idea中激活热部署

快捷键:Ctrl + F9

图形化界面Build Project

三、自动启动热部署

IDEA中自动激活热部署(IDEA失去焦点五秒后自动构建项目,启动热部署)

第一步:

File 》Setting 》Build、Execution、Deployment 》Compiler 》勾选Build project automatically

第二步:

File 》Setting 》advanced Settings 》勾选Allow auto-make to start even if development application is currently running

四、热部署范围配置

关于热部署:

  • 重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
  • 重载(ReLoad):jar包,加载位置base类加载器

热部署范围配置:

默认不触发重启的目录列表:

  • /META-INF/Maven
  • /META-INF/resources
  • /resources
  • /static
  • /public
  • /templates

springboot配置文件中,手动设置不参与热部署的文件或文件夹:

# 将application.yml设置为不参与热部署,若需要设置多个参数,参数之间用逗号','隔开
spring:
  devtools:
    restart:
      exclude: application.yml

五、关闭热部署

绝对保障,使用不会被配置文件的配置所覆盖的,高优先级配置,来设置热部署关闭:

SpringBoot工程启动类中配置:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootSSMpApplication {
    public static void main(String[] args) {
        //设置热部署关闭
        System.setProperty("spring.devtools.restart.enabled","false");
        SpringApplication.run(SpringbootSsmpApplication.class, args);
    }
}

小结

开启开发者工具后启动热部署;

使用构建项目操作启动热部署(Ctrl+F9);

可以配置自动构建项目用于自动激活热部署;

热部署仅仅加载当前开发者自定义的开发的资源,不加载jar包资源;

可以在配置文件中设置热部署范围

可以在SpringBoot启动类中,使用比配置文件更高优先级的配置来关闭热部署

到此这篇关于SpringBoot热部署启动关闭流程下详解的文章就介绍到这了,更多相关SpringBoot热部署内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章