spring-boot-devtools 快速重启的秘密

本文深入探讨了Spring Boot DevTools如何实现快速重启的原理。主要涉及RestartConfiguration、ClassPathFileSystemWatcher、ClassPathFileChangeListener和FileSystemWatcher等关键组件。通过监听classpath变化,触发重启应用的流程,包括stop和start两部分,其中涉及到ClassLoader的特殊处理以破坏双亲委派机制。文章还提到了默认的监视策略和可配置的修改选项。

文章概要

文章的主旋律如下

spring.factories

在了解了 Springboot 的自动装配原理 后(不了解可以看看 4ye 之前写的这篇 《Springboot自动装配原理探索》),我们直接打开 spring-boot-devtools 源码 ,找到 spring.factories 文件,

我们一般都本地开发调试的,所以就直接看这个
LocalDevToolsAutoConfiguration 类啦

LocalDevToolsAutoConfiguration

可以看到核心点在 重启和重载

主角

我们先来看看这个 重启 中有什么叭

重启原理介绍

大概这么一个思路 下面就跟着源码分析啦(文末有源码重启要点流程图

RestartConfiguration

有这么些方法

从名字上分析,这两个方法应该是重点,逻辑上应该是 有一个 watcher 在盯着 classpath ,如果有变动的话,就触发这个 ClassPathChangedEvent&n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值