一篇文章带你搞定SpringBoot中的热部署devtools方法
时间:2020-11-20 17:19:08|栏目:JAVA代码|点击: 次
一、前期配置
创建项目时,需要加入 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,默认情况下当静态资源发生变化时,并不会触发项目重启
栏 目:JAVA代码
下一篇:Spring session实现共享单点登录案例过程解析
本文标题:一篇文章带你搞定SpringBoot中的热部署devtools方法
本文地址:http://www.codeinn.net/misctech/24313.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机