545 Star 4.8K Fork 1.4K

YuePeng/erupt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

中文   |   English

logo

ERUPT   🚀   为开发者打造的高效低代码引擎

低代码 + AI,让开发更简单

https://www.erupt.xyz


maven-central license Apache 2.0 GitHub stars GitHub forks gitcode Gitee star Gitee fork

GitHub 仓库   |   GitCode 仓库   |   码云仓库   |   官方网站   |   在线体验   |   框架生态   |   📕 使用文档


一款革命性的低代码开发框架,专为提升企业级中后台应用的开发效率而设计,显著降低开发成本与复杂度。

它不仅仅是一个工具,更是一种能够优化研发流程、提升团队生产力、加速数字化转型的战略选择。

Erupt 提供效率、灵活性、可控性,大幅压缩研发周期,专注核心业务。


🚀 简介 | Intro

Erupt 一个通用低代码框架,使用 Java 注解驱动,动态渲染构建页面与API。

零前端代码、零 CURD、自动建表,仅需 一个类文件 + 注解配置,快速开发企业级数据管理后台。

高扩展性,支持CURD自由扩展 @DataProxy 、自定义数据源、逻辑删除、LDAP、OSS。

🎯 低代码引擎 | Engine

透明的底层机制与高度可配置性:

  • 注解驱动,配置灵活:通过 @Erupt@EruptField 及其丰富的属性,开发者可以精细控制模型的行为、UI 的展现、数据的校验与处理方式。
  • 开放的架构:Erupt 的核心模块设计清晰,鼓励开发者理解其工作原理,并在需要时进行针对性调整。
  • 详细的日志与调试支持:方便开发者追踪问题,理解框架内部执行流程。

超越传统代码生成器的开发体验:

  • 动态解释而非静态生成:Erupt 通过运行时解析注解来动态构建应用,避免了传统代码生成器因代码冗余、难以维护、合并困难等问题带来的困扰。修改注解即可实时生效,无需重新生成大量代码。
  • 关注模型而非实现:开发者只需关注业务模型的定义与注解配置,Erupt 会自动处理大部分底层的 UI 渲染、数据绑定、API 调用,数据库交互等工作。

深度定制与扩展能力:

  • 生命周期钩子:在 Erupt 核心流程的多个关键节点提供了钩子函数,方便开发者进行功能增强或行为调整。
  • @DataProxy 接口**:允许开发者在数据操作的各个阶段(如新增前、编辑后、查询时)注入自定义逻辑,实现复杂的业务校验、数据转换、权限控制等。
  • 自定义组件与视图:除了丰富的内置组件,Erupt 支持开发者创建和集成自定义的前端组件和视图模板,满足高度个性化的界面需求。
  • 自定义数据源与方言:轻松扩展对特定数据库或数据存储的支持,甚至可以实现自定义的 SQL 方言适配。

拥抱 Spring Boot 生态,无缝集成:

  • 非侵入式设计:Erupt 构建于 Spring Boot 之上,与 Spring Data JPA 深度集成,但不干涉开发者使用 Spring Boot 的其他功能或引入第三方库。
  • 标准 JPA 实体:Erupt 实体类本身就是标准的 JPA 实体,可以被项目中的其他服务或模块复用。
  • 易于整合现有项目:可以将 Erupt Cloud 渐进式地引入到已有的 Spring Boot 项目中,逐步替换或增强后台管理模块。

从 2020 年开始不断优化升级,目前已有上百家公司使用,上万名开发者开发相关应用。上百名开发者参与提交了功能建议与提交代码。

🥏 超越传统代码生成器

代码生成器在一定程度上提升了开发效率,但其本质仍是生成大量模板代码。这些生成的代码一旦修改,后续的维护和升级往往面临巨大挑战,容易形成技术债。

Erupt 提供了更为优雅的解决方案:

  • 配置即代码的升华:Erupt 不是生成代码,而是通过注解动态解释和执行,这意味着业务逻辑与框架核心高度解耦。修改配置(注解)即可实时改变系统行为,无需重新生成和合并代码。
  • 更高的抽象层次:Erupt 将常见的后台管理功能抽象为一系列标准化的注解和组件,开发者只需关注业务模型的定义,而非底层的实现细节。
  • 持续进化与维护:作为一款成熟的开源框架,Erupt 核心团队和社区持续对其进行功能增强和缺陷修复。使用 Erupt 意味着您可以享受到框架升级带来的红利,而无需自行维护大量生成的代码。

result result

@Erupt(
       name = "简单的例子",
       power = @Power(importable = true, export = true)
)
@Table(name = "t_simple")   //数据库表名
@Entity
public class Simple extends BaseModel {

    @EruptField(
            views = @View(title = "文本"),
            edit = @Edit(title = "文本", notNull = true, search = @Search)
    )
    private String input;

    @EruptField(
            views = @View(title = "数值", sortable = true),
            edit = @Edit(title = "数值", search = @Search)
    )
    private Float number;

    @EruptField(
            views = @View(title = "布尔"),
            edit = @Edit(title = "布尔", search = @Search)
    )
    private Boolean bool;

    @EruptField(
            views = @View(title = "时间"),
            edit = @Edit(title = "时间", search = @Search(vague = true))
    )
    private Date date;

    @EruptField(
            views = @View(title = "滑动条"),
            edit = @Edit(title = "滑动条", type = EditType.SLIDER, search = @Search,
                    sliderType = @SliderType(max = 90, markPoints = {0, 30, 60, 90}, dots = true))
    )
    private Integer slide;

    @EruptField(
            views = @View(title = "下拉选择"),
            edit = @Edit(
                    search = @Search,
                    title = "下拉选择", type = EditType.CHOICE,
                    choiceType = @ChoiceType(fetchHandler = SqlChoiceFetchHandler.class,
                            fetchHandlerParams = "select id,name from e_upms_menu"
                    )
            )
    )
    private Long choice;

}

功能体验

⛰ 演示截图 | Screenshot

移动端展示效果

🔗 下载使用 | Download

无需编译源代码,Spring Boot项目添加如下依赖即可

<!--核心依赖-->
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-admin</artifactId>
    <version>LATEST-VERSION</version>
</dependency>
<!--后台WEB界面-->
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-web</artifactId>
  <version>LATEST-VERSION</version>
</dependency>

最新版本

maven-central

详细使用步骤

🌕 在线体验 | Demo

演示地址:https://www.erupt.xyz/demo

账号密码:guest / guest

支持主流现代浏览器,可直接运行在 Electron 等基于 Web 标准的环境上

🔭 开源推荐 | Recommend

Linq.J:基于JVM的对象查询语言

magic-api:接口快速开发框架

Jpom:简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件

🧩 加入讨论

QQ交流群: 836044286 🔥

微信交流群:由于微信群二维码有效时间仅7日,关注 Erupt 官方公众号(EruptGuide),可获取最新群二维码

ERUPT - 赋予 Java 开发者更高效、更灵活的后台构建能力。加入我们,一同探索低代码在专业开发领域的无限可能!

⛽️ 捐赠 | Donate

此框架服务器,域名,空间,人工等费用一直由作者本人自掏腰包并持续维护,开源不易,一杯咖啡也是动力 🙏

前往捐赠


⭐️ 使用 Apache License 2.0 协议,核心源代码开源免费。开源不易,喜欢请给作者 Star 鼓励


官方网站   |   GITHUB   |   使用文档


作者 :YuePeng   /   erupts@126.com


空文件

简介

🚀 创新型 Java 低代码引擎:注解驱动,极速构建企业级后端。对象即视图,全栈开发基石。 现已开源AI模块,全面支持 DeepSeek、ChatGPT 展开 收起
取消

发行版 (4)

全部
4个月前

近期动态

3天前推送了新的提交到 develop 分支,23fd299...a0816a1
3天前推送了新的提交到 develop 分支,799a543...23fd299
3天前推送了新的提交到 develop 分支,88b0996...799a543
5天前推送了新的提交到 develop 分支,a0240be...88b0996
7天前推送了新的提交到 develop 分支,324989b...a0240be
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/erupt/erupt.git
git@gitee.com:erupt/erupt.git
erupt
erupt
erupt
master

搜索帮助