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

网友投稿 282 2022-11-23


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

一、前期配置

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

二、测试使用

(1)建立 HelloController

@RestController

public class HelloController {

@GetMapping("/hello")

public String hello(){

return "hello devtools";

}

}

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

三、热部署的原理

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

base classloader

restart classloader

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

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java构建对象常用3种方法解析
下一篇:谈谈Java中自定义注解及使用场景
相关文章

 发表评论

暂时没有评论,来抢沙发吧~