一篇文章带你搞定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,默认情况下当静态资源发生变化时,并不会触发项目重启
到此这篇关于一篇文章带你搞定SpringBoot中的热部署devtools方法的文章就介绍到这了,更多相关SpringBoot 热部署devtools内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)
不需要填写用户名和密码自动登录系统,其实现思路使用cookie模拟浏览器自动登录,对cookie实现自动登录功能感兴趣的朋友一起学习吧2016-08-08Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解
这篇文章主要介绍了如何基于springboot-admin管控台监控服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2021-09-09Apache commons fileupload文件上传实例讲解
这篇文章主要为大家详细介绍了Apache commons fileupload文件上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-10
最新评论