要想在项目中修改了代码就能够立马生效而不是反复重启项目,就需要用到热部署这个配置了
1. 手动启动热部署
配置步骤如下:
1、导入相关依赖,记得刷新Maven
<!-- 热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
2、我们先启动项目。
3. 加入我们在getById方法中添加一条代码,输出 heatload...
@GetMapping("{id}")
public R getById(@PathVariable Integer id){
System.out.println("heatload...");
return new R(true, iBookService.getById(id));
}
4. 点击Build Project
5. 点击编辑(会用到getById方法)查看控制台
2. 自动启动热部署
6. 但是反复手工点击Build Project 非常麻烦,我们可以去设置一下配置
点击setting
勾上Build project automatically,然后点击OK
然后打开Advanced Setting,勾上Allow auto-make......
然后apply就可以了
测试,我在运行的时候使用的方法
点击编辑按钮调用方法之后控制台的输出如下:
然后添加一句
然后等待几秒,Idea失去焦点5秒后启动热部署。再点击编辑按钮,出现两条输出
3. 热部署范围配置
你也可以在配置文件中设置不参与热部署的文件路径
# 自定义不参与重启排除项
devtools:
restart:
exclude: static/**
4. 关闭热部署
关闭热部署只需要在引导类中设置高优先级属性禁用热部署
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(Application.class, args);
}
}