这篇文章介绍了SpringBoot的热部署技术,解释了热部署的深层原理。文章还指导了如何在SpringBoot配置文件中引入Dev-tools依赖,并通过IDEA设置和浏览器配置来实现热部署。此外,还提到了自动编译的配置方法和关闭浏览器缓存的技巧,以提升开发效率。
Dev-tools
深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
- 在Springboot配置文件(pom.xml)中引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
- 配置自动编译:
File | Settings | Build, Execution, Deployment | Compiler:
勾选Build project automatically:
- 配置热部署:
快捷键 Ctrl+Shift+Alt+/ ,选择Registry
勾选Compiler autoMake allow when app running;
设置自动保存更新(静态资源)文件的时间为100:
compile.document.save.trigger.delay :100
compile.automake.trigger.delay :100
- 关闭浏览器缓存
打开浏览器控制台,勾选禁用缓存
或者下载浏览器热部署插件:Live Reload
SpringBoot的自动编译
- 配置自动编译:
File | Settings | Build, Execution, Deployment | Compiler:
勾选Build project automatically:
- 配置热部署:
快捷键 Ctrl+Shift+Alt+/ ,选择Registry
勾选Compiler autoMake allow when app running;
设置自动保存更新(静态资源)文件的时间为100:
compile.document.save.trigger.delay :100
compile.automake.trigger.delay :100
- 开启SpringBoot自动编译
编辑SpringBoot的配置(Edit Configuration);
选择失去焦点和点击更新按钮时,自动更新类和资源文件;
On“updata”action表示点击更新按钮时执行;
On“frame” deactivation 表示失去焦点时执行;
Update按钮如下图:(快捷键是Ctrl+F10)
- 关闭浏览器缓存
打开浏览器控制台,勾选禁用缓存
或者下载浏览器热部署插件:Live Reload
这里还没有评论哦
快来发一条评论抢占前排吧