spring-boot-devtools 插件实现 Springboot 热部署
一、为什么需要热部署
Springboot 项目如果代码或者配置文件进行了修改,需要重新将项目关闭再重新启动,这样比较繁琐,并且如果项目比较大,重启的时间会比较长,那么怎么解决上述问题呢?通过热部署的方式让我们可以一边修改我们的项目,然后在页面中直接通过刷新展示出来.
spring 为开发者提供了一个名为 spring-boot-devtools 的模块来使 Springboot 应用支持热部署,提高开发者的开发效率,无需手动重启 Springboot 应用.
二、devtools 的原理
深层原理是使用了两个 ClassLoader,一个 Classloader 加载那些不会改变的类(第三方 Jar 包),另一个 ClassLoader 加载会更改的类,称为 restart ClassLoader ,这样在有代码更改的时候,原来的 restart ClassLoader 被丢弃,重新创建一个 restart ClassLoader ,由于需要加载的类相比较少,所以实现了较快的重启时间.
三、实现热部署步骤
1、pom.xml 中加入 spring-boot-devtools 依赖
1 2 3 4 5 6 7 | // 添加 spring-boot-devtools 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional> true </optional> </dependency> |
2、添加插件
1 2 3 4 5 6 7 8 9 10 11 12 13 | // 复制插件到 pom.xml 中,如果是父子工程添加到父工程中 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork> true </fork> <addResources> true </addResources> </configuration> </plugin> </plugins> </build> |
3、设置 IDEA 自动编译: File---->Settings-Compiler---->勾选如下配置
4、快捷键 ctrl + shift + alt + /---->弹出对话框---->选择点击 Registry---->勾上 Compiler autoMake allow when app running
5、重启 IDEA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?