原理

深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
若想探究底层实现或者自定义加载类

具体步骤

一、pom文件中加入

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional>
</dependency>

在spring-boot-maven-plugin中增加configuration

<plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!-- 增加fork 才允许热部署 ,fork交叉 --><fork>true</fork></configuration></plugin>
</plugins>

二、IDEA种开启自动编译

打开顶部工具栏 File -> Settings -> Build,Execution,Deployment -> Compiler 然后勾选 Build project automatically 。

三、Shift+Ctrl+a 打开工具窗口输入Registry点击后,勾上 Compiler autoMake allow when app running

四、以DEBUG模式启动

【夏目鬼鬼分享】SpringBoot集成热部署(IDEA)相关推荐

  1. SpringBoot实现热部署

    SpringBoot实现热部署主要依赖的是DevTools工具,IDEA可以在新建SpringBoot项目时勾选DevTools选项: 或者手动在pom.xml中添加DevTools依赖的相关jar: ...

  2. SpringBoot项目热部署配置

    SpringBoot配置热部署后修改代码, 无需重启即可看到修改效果. pom引入spring-boot-devtools依赖 <!--SpringBoot热部署配置 --> <de ...

  3. SpringBoot 配置热部署

    SpringBoot 配置热部署 先来说一说热部署具体有什么样的神奇作用? 再我们平常编写一个web项目时,都知道如果修改html或者jsp这些前端页面,我们浏览器刷新,是可以实时更新的.但是如果修改 ...

  4. SpringBoot 实现热部署

    #SpringBoot实现热部署 ##1.添加依赖 <!-- 热部署 --> <dependency><groupId>org.springframework.bo ...

  5. springboot项目热部署

    原理 非springboot项目热部署实现原理:服务器去监控其中加载的应用,发现产生了变化就重新加载一次. springboot项目热部署实现原理:基于springboot开发的web工程其实有一个显 ...

  6. 关于在IDEA上开发springboot及其热部署等等问题

    耗费了我两天一夜的时间,一把辛酸泪,所以要记录一下 1:IDEA方面 这个IDEA,真的是又爱又恨,喜欢他的操作模式,界面等等一系列,但是麻烦的是很多都跟eclipse不同,大大的不适应,刚开始肯定极 ...

  7. SpringBoot官方热部署和远程调试神器,真带劲!

    平时使用SpringBoot开发应用时,修改代码后需要重新启动才能生效.如果你的应用足够大的话,启动可能需要好几分钟.有没有什么办法可以加速启动过程,让我们开发应用代码更高效呢?今天给大家推荐一款Sp ...

  8. Intellij IDEA SpringBoot项目热部署解决方案

    第一步:在项目pom文件中导入依赖 <dependency><!--Spring 官方提供的热部署插件 --><groupId>org.springframewor ...

  9. SpringBoot 实现热部署有哪几种方式

    主要有两种方式: Spring Loaded Spring-boot-devtools 引用devtools依赖 org.springframework.boot spring-boot-devtoo ...

最新文章

  1. 探React Hooks
  2. java 取绝对值_Java实现一致性哈希算法,并搭建环境测试其负载均衡特性
  3. 【Android WebSocket】Android 端 WebSocket 基本用法 ( 添加依赖和权限 | 创建 WebSocketClient 客户端类 | 建立连接并发送消息 )
  4. 在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?...
  5. MAT之ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比
  6. python定义词典_python – 自定义类是一个字典,但初始化没有字典副本?
  7. 云效 Flow——Java构建并通过云效上传二方库到 Maven 私有仓库
  8. ITK:计算矢量图像中每个像素的大小以生成大小图像
  9. html5手机端三级联动城市选择代码,省市县三级联动(jQuery手机端收货地址选择地区代码)...
  10. disruptor消费者模型
  11. 大数据学习笔记06:伪分布式Hadoop
  12. 华为Mate 40工程机曝光:并未采用屏下摄像头
  13. 电子商务网站优化之策略篇
  14. Mysql 的ERROR 1005 (HY000): Can't create table 'xxx' (errno: 150)
  15. Java并发包实际应用_Java并发包之核心AQS
  16. Fortran——安装软件
  17. 微软服务器系统补丁kb2919355,关于补丁KB2919355
  18. macOS搭建51单片机开发环境
  19. C语言——通讯录的实现
  20. 甲骨文裁员犯的病,任正非早在10年前就开出了药方

热门文章

  1. python项目策划书_Python实战计划学习第一周
  2. asp.net2.0学习指导 菜鸟到中级程序员的飞跃
  3. python一行输出多个数据_如何在Python中让两个print()函数的输出打印在一行内?
  4. python数据分析师下载_2020云开见明Python数据分析师特训营,全套课程资源下载...
  5. 如何在工作中提升自己的学习能力
  6. Navicat导出ncx文件并解密连接密码
  7. oracle 雪峰,讨论 - 廖雪峰的官方网站
  8. PYQT 按钮样式设置
  9. 机器学习-各种距离的定义
  10. wps怎么删除分隔符号 分栏