SpringBoot 热部署devtools 一篇文章带你搞定SpringBoot中的热部署devtools方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

SpringBoot 热部署devtools 一篇文章带你搞定SpringBoot中的热部署devtools方法

南淮北安   2021-03-16 我要评论
想了解一篇文章带你搞定SpringBoot中的热部署devtools方法的相关内容吗,南淮北安在本文为您仔细讲解SpringBoot 热部署devtools的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot,热部署,SpringBoot,热部署devtools,下面大家一起来学习吧。

一、前期配置

创建项目时,需要加入 DevTools 依赖

二、测试使用

(1)建立 HelloController

@RestController
public class HelloController {

  @GetMapping("/hello")
  public String hello(){
    return "hello devtools";
  }
}


对其进行修改:然后不用重新运行,重新构建即可:只加载变化的类

三、热部署的原理

Spring Boot 中热部署最最关键的原理就是两个不同的 classloader:

  • base classloader
  • restart classloader

其中 base classloader 用来加载那些不会变化的类,例如各种第三方依赖,而 restart classloader 则用来加载那些会发生变化的类,例如你自己写的代码。

Spring Boot 中热部署的原理就是当代码发生变化时,base classloader 不变,而 restart classloader 则会被废弃,被另一个新的 restart classloader 代替。在整个过程中,因为只重新加载了变化的类,所以启动速度要被重启快。

需要注意,使用devtools,默认情况下当静态资源发生变化时,并不会触发项目重启

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们