开源免费 Java 热加载插件:HotSwapHelper,部分功能超越 JRebel
大家好,我开发了一款基于 HotSwapAgent 的 Intellij 热加载插件——HotSwapHelper,特别适合 Spring Boot + MyBatis/MyBatisPlus 项目,比如若依、RuoYi Vue Pro、Jeecg 等框架。
我对 HotSwapAgent 进行了功能增强,增加了对以下特性的支持:
- PageHelper 支持:兼容分页插件,确保在分页处理时可以热加载变更。
- MyBatis XML 动态增减:支持对 MyBatis XML 配置文件的增删修改,实时生效,无需重启项目。
- Spring AOP 支持:增强了对 Spring AOP 的支持,动态增减切面逻辑,方便调试和优化业务代码。
这些功能使得 HotSwapHelper 在 Spring Boot + MyBatis/MyBatisPlus 项目中的表现超越 JRebel,特别是在 XML 和实体类变更场景中。
和其他方案对比
名称 |
是否收费 |
优点 |
缺点 |
---|
JRebel |
是,收费很贵 |
兼容框架较多,支持一些老版本框架 |
不兼容 MyBatis 实体类增减字段、不支持增减 XML、部分 Spring AOP 功能不支持,其他待测试 |
HotSwapHelper |
免费开源 |
兼容性不错,支持大部分框架,开源可自行修改 |
不支持一些框架的老版本 |
Spring DevTools |
免费开源 |
对 Spring Boot 项目支持较好 |
依赖重启技术,大型项目重启速度慢,适用于简单项目的快速开发调试 |
支持情况:
- Java 类修改:方法体、字段、方法的增减和修改等。
- Spring:动态增减 Bean,@RequestMapping 的增减等。
- MyBatis:修改XML,XML,Mapper 和实体类的增减,完全兼容 MyBatisPlus。
- Hibernate 等其他常用框架。
项目地址:Gitee HotSwapHelper
演示视频:Bilibili 视频 |