Erupt Engine
Erupt 一个通用低代码框架,使用 Java 注解驱动,动态渲染构建页面与 API。
零前端代码、零 CURD、自动建表,仅需 一个类文件 + 注解配置,快速开发企业级数据管理后台。
本次更新内容
🐞 修复 erupt-ai 在实现 EruptPromptHandler 后项目无法启动的问题
🐞 修复 erupt-mongodb 排序参数不生效的 bug
🐞 修复一对多组件使用 Date 类型时,表格日期比表单少一天的误差
🐞 修复 erupt-magic-api 路径 bug,感谢 aurthurxlc 贡献的代码 #330
🧩 @Readonly 注解默认放开前端传值,可通过 @Readonly(allowChange = false) 关闭信任
🌟 增加排序按钮,可灵活配置多字段排序
🌟 MCP 能力增加鉴权控制及默认实现,支持 Cursor 等工具交互访问 erupt 实体数据
🌟 Erupt-AI 增加了新的大模型支持:Grok/Fireworks/MinMax/Mistral/OpenRouter/Together
🌟 LambdaQuery 新增 Page 分页 API,链式调用更顺滑
🌟 联动能力中 @ChoiceType.dependExpr 正式退役,请使用 @ChoiceType.fetchHandler 替代
🌟 开源 erupt-notice 公告、站内信、邮件、短信一键发送,消息触达零门槛
🌟 @Edit 支持 onchange 配置,值变更即可动态驱动注解配置,实现任意表单联动
🌟 可视化能力全面升级,支持:甘特图、卡片视图、自定义视图、表格视图,数据展示更直观
🌟 在 IDEA 中配置 erupt 注解时值将会高亮显示,写配置如写代码
🌟 继承 MetaModel / HyperModel 时,无用户上下文也能自动写入创建、更新字段,审计字段零代码
🌟 升级 spring boot 版本至 3.5.9
🌟 升级前端版本至 Angluar 20
@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(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;
}
特性
透明的底层机制与高度可配置性:
-
注解驱动,配置灵活:通过 @Erupt、@EruptField 及其丰富的属性,开发者可以精细控制模型的行为、UI 的展现、数据的校验与处理方式。
-
开放的架构:Erupt 的核心模块设计清晰,鼓励开发者理解其工作原理,并在需要时进行针对性调整。
-
详细的日志与调试支持:方便开发者追踪问题,理解框架内部执行流程。
超越传统代码生成器的开发体验:
深度定制与扩展能力:
-
生命周期钩子:在 Erupt 核心流程的多个关键节点提供了钩子函数,方便开发者进行功能增强或行为调整。
-
@DataProxy 接口 **:允许开发者在数据操作的各个阶段(如新增前、编辑后、查询时)注入自定义逻辑,实现复杂的业务校验、数据转换、权限控制等。
-
自定义组件与视图:除了丰富的内置组件,Erupt 支持开发者创建和集成自定义的前端组件和视图模板,满足高度个性化的界面需求。
-
自定义数据源与方言:轻松扩展对特定数据库或数据存储的支持,甚至可以实现自定义的 SQL 方言适配。
拥抱 Spring Boot 生态,无缝集成:
-
非侵入式设计:Erupt 构建于 Spring Boot 之上,与 Spring Data JPA 深度集成,但不干涉开发者使用 Spring Boot 的其他功能或引入第三方库。
-
标准 JPA 实体:Erupt 实体类本身就是标准的 JPA 实体,可以被项目中的其他服务或模块复用。
-
易于整合现有项目:可以将 Erupt Cloud 渐进式地引入到已有的 Spring Boot 项目中,逐步替换或增强后台管理模块。
在线体验
演示截图 * Screenshot ⛰