一篇文章带你搞定SpringBoot中的热部署devtools方法
一、前期配置
创建项目时,需要加入DevTools依赖
二、测试使用
(1)建立HelloController
@RestController publicclassHelloController{ @GetMapping("/hello") publicStringhello(){ return"hellodevtools"; } }
对其进行修改:然后不用重新运行,重新构建即可:只加载变化的类
三、热部署的原理
SpringBoot中热部署最最关键的原理就是两个不同的classloader:
- baseclassloader
- restartclassloader
其中baseclassloader用来加载那些不会变化的类,例如各种第三方依赖,而restartclassloader则用来加载那些会发生变化的类,例如你自己写的代码。
SpringBoot中热部署的原理就是当代码发生变化时,baseclassloader不变,而restartclassloader则会被废弃,被另一个新的restartclassloader代替。在整个过程中,因为只重新加载了变化的类,所以启动速度要被重启快。
需要注意,使用devtools,默认情况下当静态资源发生变化时,并不会触发项目重启
到此这篇关于一篇文章带你搞定SpringBoot中的热部署devtools方法的文章就介绍到这了,更多相关SpringBoot热部署devtools内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。