使用JRebel插件实现SpringBoot应用代码热加载

前言
在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果。那么有没有一种方式能够快速的、自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,在我之前的文章里面给读者介绍了使用springboot-devtools实现热加载的方法。本文就给大家介绍另外一种方式:使用Jrebel插件完成修改代码及资源的自动更新功能。
但是对于这个功能很多人对功能的叫法有争议,笔者查询了维基百科、官方文档,没有得到合理的答案,也没有权威的定义,笔者知道的就有:热启动、热加载、热更新、热部署、热切换。这几个词从语义上是有区别的,但是叫什么并不重要,实现了最重要,毕竟绝大部分程序员为了使用这个功能方便开发,也不是专业的搞学术研究的。
如果哪位同学获得了权威渠道的说法,可以将文档连接反馈给我。我再理解一下,争取做到学术研究级别的一丝不苟!在此之前笔者按照自己的想法和英文翻译的角度去使用这些名词。
使用Jrebel插件实现热加载,这是最简单的一种方式,但是有一定的个局限性,Jrebel插件是收费的。虽然有破解方案,但是不建议!有需要的同学自行研究,这里就不多做介绍了。(如果确实有需要,可以参考文末的我的博客地址)
第一步:安装插件
IntelliJ IDEA是笔者最常使用的IDE,本文就以在IDEA中Jrebel的安装及使用进行示例说明。按照箭头所示选择安装。安装完成之后,要重启IDEA才能生效。

第二步:激活插件
在安装完成之后,右上角会多出这样几个按钮。点击之后会提示你进行插件激活,可以购买注册码激活,也可以在线激活。也可以填写个人姓名、邮箱、电话之后获取10天的试用期!

第三步:更新操作触发配置
这个配置不仅结合Jrebel使用有效,对于其他的方式实现热加载,代码及资源的自动更新也同样适用。

在Spring Boot项目启动配置中,选择下图中的红色框中的内容:uodate classes and resources on ‘update’ action

配置完成后,通过右上角的JR按钮启动SpringBoot项目。就可以实现改动代码和资源的自动更新。
最后还是要说明一下,这种方式虽然简单,但是Jrebel插件是收费插件。如果经济上不困难,请尊重原作者的劳动成果。
期待您的关注
- 博主最近新写了一本书:《手摸手教您学习SpringBoot系列-16章97节》
 - 本文转载注明出处(必须带连接,不能只转文字):字母哥博客。
 
使用JRebel插件实现SpringBoot应用代码热加载的更多相关文章
- 最简破解-java代码热加载热部署IDEA插件JRebel
		
如果经济实力允许的话,还是建议大家去购买收费版.支持原创作者,才能有更好的产品出现. 一.Jrebel插件介绍 JRebel一款帮助我们在开发过程中实现热加载的插件,目前来说,在IDEA中实现热加载最 ...
 - SpringBoot自带热加载开发工具
		
SpringBoot自带热加载开发工具 maven配置: <!-- SpringBoot自带热加载开发工具 --> <dependency> <groupId>or ...
 - springboot idea 配置热加载
		
在idea 配置springboot的热加载,只需要三步: 第一步.引用jar包 <dependency> <groupId>org.springframework.boot& ...
 - Eclipse tomcat插件禁用热加载
		
Eclipse中的tomcat插件默认是开户了热加载,只要是修改了java文件一保存,tomcat自动编译.加载.发布,很吃内存. 关闭方法: 打开eclipse,找到server项: 双击打开,修改 ...
 - (译文)开始学习Webpack-应用TypeScript,配置热加载和Source Map
		
项目初始化:采用TypeScript 我们的版本是: $ node --version v8.5.0 $ npm --version 5.5.1 npm版本升级了,因为npm最近带来了新特性,本地会生 ...
 - 基于JRebel开发的MybatisPlus热加载插件
		
前言 前天项目中使用了mybatis-plus,但是搭配Jrebel开发项目时,发现修改mapper的xml,或者mapper方法中的注解,Jrebel并没有能够reload mapper.于是就有了 ...
 - IDEA下利用Jrebel插件实现JFinal项目main方法【热加载】
		
IDEA下利用Jrebel插件实现JFinal项目main方法[热加载] Jrebel破解办法 https://github.com/ilanyu/ReverseProxy/releases/tag/ ...
 - SpringBoot  SpringCloud 热部署  热加载  热调试
		
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] Crazy-Sp ...
 - SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么?
		
在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件 ...
 
随机推荐
- java架构之路-(mysql底层原理)Mysql事务隔离与MVCC
			
上几篇博客我们大致讲了一下mysql的底层结构,什么B+tree,什么Hash需要回行啊,再就是讲了mysql优化的explain,这次我们来说说mysql的锁. mysql锁 锁从性能上分为乐观锁( ...
 - 错误:java.lang.NoClassDefFoundError: org/jaxen/JaxenException
			
tomcat运行时候报错: java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory. ...
 - 基于操作系统原理的Linux 系统的安装
			
一.实验目的 1.了解Linux操作系统的发行版本. 2.掌握Red Hat Linux 9.0的安装方法. (可用Red Hat Linux 5.0版本替代9.0版本) 3.了解Linux其他版本( ...
 - Scrapy入门操作
			
一.安装Scrapy: 如果您还未安装,请参考https://www.cnblogs.com/dalyday/p/9277212.html 二.Scrapy基本配置 1.创建Scrapy程序 cd D ...
 - 动态insert mybatis与ibatis
			
mybatis: <insert id="insert" parameterType="hashMap"> INSERT INTO item < ...
 - 在网页中动态地给表格添加一行内容--HTML+CSS+JavaScript
			
需求描述: 用户在页面上点击按钮,可以把文本框中的数据在表格的新的一行中显示,具体表现如下图: 如果如果输入框内容有一项为空,弹出对话框‘请将数据填入完全 步骤: 1.按钮注册单击事件 2.获取并判断 ...
 - 在Android开发中,当按下home键程序会完全退出时,解决这个BUG:
			
把这段代码贴到 super.onCreate(savedInstanceState); 之后 //remenber process if(!this.isTaskRoot()) { //判断该Act ...
 - ActiveMQ学习总结------入门篇01
			
注:*这篇博文文章主要介绍ActiveMQ是什么原理性的内容和如何安装和简易操作 一. ActiveMQ 简介 1 ActiveMQ是什么呢?看起来好碉堡的东西哇! ActiveMQ 是 Apach ...
 - 针对于ECMA5Script 、ECMAScript6、TypeScript的认识
			
什么是ECMAScript.什么又是ECMA? Ecma国际(Ecma International)是一家国际性会员制度的信息和电信标准组织.1994年之前,名为欧洲计算机制造商协会(European ...
 - bat脚本自动安装Jmeter&Jdk
			
一句话能解决的事情,绝对不要写一篇文章:一篇文章能解决的事情,绝对不要使用各种工具:一个工具能解决的事情,绝对不要跑东跑西…… 文章主要介绍脚本如何下载.安装.配置Jmeter&Jdk. 不多 ...