SpringBoot-热部署

热部署

  • 1.手动启动热部署
    • a.添加热部署依赖项
    • b.构建项目(激活热部署)
    • c.关于热部署
  • 2.自动启动热部署
    • 配置
      • 1.适用于2022以前的IDEA版本
      • 2.适用于2022以后的IDEA版本
  • 3.热部署范围配置
  • 4.关闭热部署

1.手动启动热部署

a.添加热部署依赖项

开启开发者工具

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
</dependency>

b.构建项目(激活热部署)

在IDEA顶部的Build --> Build Project
(快捷键 Ctrl + F9)

在不关闭服务器的情况下,只需在每次修改代码后Build

c.关于热部署

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

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

2.自动启动热部署

配置

1.适用于2022以前的IDEA版本

  1. File -> Settings -> Build -> compiler -> Build project automatically(勾上)
  2. Ctrl + Alt + Shift + / => 点击1.Registry => 勾上compiler.automake.allow.when.app.running

2.适用于2022以后的IDEA版本

  1. File -> Settings -> Build -> compiler -> Build project automatically(勾上)
  2. File -> Settings -> Advanced Setting -> 勾上Allow auto-make to start even if developed application is currently running

3.当IDEA失去鼠标焦点5秒后自动启动热部署

3.热部署范围配置

在application.yml中自定义不参与重启排除项

spring:
	devtools:
    	restart:
      		# 设置不参与热部署的文件或文件夹
      		exclude: config/application.yml, static/**

4.关闭热部署

设置高优先级属性禁用热部署

public static void main(String[] args) {
    System.setProperty("spring.devtools.restart.enabled","false");
    SpringApplication.run(SSMPApplication.class, args);
}

你可能感兴趣的:(SpringBoot-开发,spring,boot,java,intellij-idea)