IDEA开发springboot项目,不重启项目实现热部署

一、pom文件增加devtools依赖


		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-devtoolsartifactId>
			<optional>trueoptional>
		dependency>

二、application.yml文件增加devtools配置

spring:
  devtools:
    restart:
      enabled: false  # 表示不重启项目
    livereload:
      enabled: true  # 开启热加载

三、设置run/debug configuration

on update option 改为 update classes and resources
IDEA开发springboot项目,不重启项目实现热部署_第1张图片

四、找到update running application的快捷键

默认是Ctrl+F10,可以自行修改成其他的快捷键,例如改为Ctrl+B
IDEA开发springboot项目,不重启项目实现热部署_第2张图片

五、修改代码并利用快捷键热加载项目

该方法适用于以下情况

  1. 修改静态文件,如static/*
  2. 修改thymeleaf页面
  3. 修改Java方法体
    正常情况下,会出现如下提示:
    1 classes reloaded表示有一个类修改后被成功加载,修改静态文件和页面虽然提示Nothing to reload,但实际上已经加载成功了,刷新页面即可看到效果。
    有一个类被加载
    在这里插入图片描述
    不适用于以下情况:
  4. 增加Java类
  5. 增加Java方法
  6. 修改Java方法参数
  7. 等其他修改Java类结构的情况
    出现这种情况,代表修改了类的结构,无法通过热加载的方式部署更新,需要手动重启项目
    IDEA开发springboot项目,不重启项目实现热部署_第3张图片

按此种方式,不需要开启Build project automatically,也不需要开启Registry里的compile.automake.allow.when.app.running,既保留编译时机的可控性,又大幅提升开发效率。

你可能感兴趣的:(IDEA开发springboot项目,不重启项目实现热部署)