Dev-tools

深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

  1. 在Springboot配置文件(pom.xml)中引入依赖:

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-devtools</artifactId>
    4. </dependency>
  2. 配置自动编译:

File | Settings | Build, Execution, Deployment | Compiler:
勾选Build project automatically
Snipaste_2021-12-07_16-46-52.png

  1. 配置热部署:

快捷键 Ctrl+Shift+Alt+/ ,选择Registry
勾选Compiler autoMake allow when app running
设置自动保存更新(静态资源)文件的时间为100:
compile.document.save.trigger.delay :100
compile.automake.trigger.delay :100
image.png

  1. 关闭浏览器缓存

打开浏览器控制台,勾选禁用缓存
Snipaste_2021-12-07_16-53-44.png
或者下载浏览器热部署插件:Live Reload
image.png

SpringBoot的自动编译

  1. 配置自动编译:

File | Settings | Build, Execution, Deployment | Compiler:
勾选Build project automatically
Snipaste_2021-12-07_16-46-52.png

  1. 配置热部署:

快捷键 Ctrl+Shift+Alt+/ ,选择Registry
勾选Compiler autoMake allow when app running
设置自动保存更新(静态资源)文件的时间为100:
compile.document.save.trigger.delay :100
compile.automake.trigger.delay :100
image.png

  1. 开启SpringBoot自动编译

编辑SpringBoot的配置(Edit Configuration);
选择失去焦点和点击更新按钮时,自动更新类和资源文件;
On“updata”action表示点击更新按钮时执行;
On“frame” deactivation 表示失去焦点时执行;
image.png

Update按钮如下图:(快捷键是Ctrl+F10)
image.png

  1. 关闭浏览器缓存

打开浏览器控制台,勾选禁用缓存
Snipaste_2021-12-07_16-53-44.png
或者下载浏览器热部署插件:Live Reload
image.png