springboot热部署(spring-boot-devtools)配置及原理验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot热部署(spring-boot-devtools)配置及原理验证相关的知识,希望对你有一定的参考价值。

参考技术A

如果引入依赖以后pom文件报红

页面展示

在pom文件中注释掉关于devTools的依赖,启动项目
查看控制台打印信息,发现是通过jdk的AppClassLoader加载器加载的文件

在pom文件中引入关于devTools的依赖,启动项目
查看控制台打印信息,发现DispatcherServlet类(第三方jar包中的类)的加载方式没有变化,还是AppClassLoader加载器
而自定义类Devtools 的加载器变成了RestartClassLoader热部署方式

验证了上述理论:
不变的资源(第三方jar包钟的资源)以base-classloader方式加载 加载一次之后不会动态监听加载
自己开发的资源(类)以restartClassloader方式动态监听加载

默认情况下,改变资源//META-INF/maven , /META-INF/resources , /resources , /static , /public ,
或/templates 不触发重新启动,但确会触发现场重装。
也可以自定义排他资源:
例如,仅排除/static , /public 您将设置以下属性:

以上是关于springboot热部署(spring-boot-devtools)配置及原理验证的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot配置文件(热部署Properties和YAML自定义属性对象集合)

Springboot 热启动热部署

SpringBoot SpringBoot热部署

Eclipse搭建springboot项目热部署

spring-boot学习

Intellij idea 配置热部署