Spring Boot 三 热部署 devtools

本文介绍了Spring Boot DevTools模块的功能及其实现原理。通过使用两个ClassLoader来分别加载不变的类和可更改的类,实现对修改后的类进行快速热部署。文章还提供了如何在pom.xml中配置devtools的方法,并指出了自动编译对于实现热部署的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sprint-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是热部署。

其原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader

工作方式,ClassLoader检测 应用的 class文件 如果有改变就会重新加载这些改变的 class文件,从而实现快速热部署。

实际应用:
1、在 pom.xml 中加入 devtools:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>

就完成了热部署:
注意如果 开发工具 没有开启 自动编译功能,依然无法完成热部署,因为 devtools 工具不能完成编译工作,他只能监测 class 文件的变化。
或者 自己手动 build project。

intellij 手动编译方式:
工具栏: build → build project。(ctrl + F9)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值