提升效率神器:手写一款 Java 热部署插件

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

00ab46c47720cfc0884cc82f11d1ebe4.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

来源:juejin.cn/post/
7307472358515294249


前言

我们在开发调试的过程中,经常在打包和重启服务器中消耗大量的时间,这将浪费我们大量的青春。

这里介绍一款本人开发的Java远程热部署插件HotSeconds(当然也可以本地热部署),包括HotSecondsServerHotSecondsClient,相对传统部署来说,效率可以提升百倍。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

功能演示

1.热部署代码

包括修改代码,新增字段,新增方法,新增类,打破了原生JDK中Instrument机制只能修改方法体的不足。同时还支持一些常用框架的热更新,比如Spring新增一个Autowired字段或者SpringMVC新增一个Controller方法,也是支持热更新的。

下面演示一个新增SpringMVC字段和方法的热部署

25d507279e49d4db233b4f26e665dcf0.gif

2. 热部署资源文件

下面演示一个热部署MyBatis的xml文件,也是右键直接热部署生效

e7b723b707851f34af0344e93fde138e.jpeg

3. 批量热更新修改的文件

修改了多个文件的情况下,直接打开热部署面板,可将修改过的文件热部署到服务器,支持按文件修改时间戳热部署,也可以将版本控制下(Git/SVN等)未提交的文件热部署

8c56f9991326e020d1c704044a6f7520.gif

4. 触发执行远程函数

无需调用远程Http或者RPC接口,就能直接触发需要的函数,这对于调试来说可是非常方便的,当然也包括在沙箱环境修复脏数据。

5950928dc352fe3f890596de83b87ab6.jpeg

直接在函数上右键选择远程执行函数,即可触发具体的函数逻辑,这里分为四种情况,静态,非静态,有参数,无参数。

无参数可以直接触发,如果是非静态字段,会弹出当前类的所有对象的选择框,选择后触发。

57b75b41eac37942d483c463f8416bc6.png

有参数的情况,会弹出对象选择框和参数输入框,输入选择后触发逻辑。

目前参数只支持byte,short,boolean,char,int,double,float,long,Bigdecimal

复杂参数的函数,可以写一个静态无参的函数,触发需要的函数,然后远程热部署整个新写的静态无参的函数的类即可。

5. 远程查看字段值

包括静态字段和非静态字段,直接在字段上右键,就能查看该字段的值。

dc2ec0418d16ec3c628dd15f2d3eb638.png

非静态字段是先弹出显示当前类的所有对象实例的框,选择具体的对象后即可获取该对象的字段值。

67ff91d2bcd38192aeb83f62bc7bab49.png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

安装教程

详见

https://github.com/Liubsyy/HotSecondsIDEA


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

45bfd822d5a525ad03498993a1f82c86.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

ca3ea56b6421a23904c47f09519f0490.png

41a57ecfdd1b59b7c17b0461c2f8bf85.pngdab623624103548d973ef95935586f03.png2d51c766cff4b2521efad04c47b1d975.pnga19672d91b29e8792336d62d28744dd2.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值