5分钟上手Erupt低代码框架:从安装到实战的极速指南
【免费下载链接】erupt 🚀 通用数据管理框架,VORM 对象视图模型,注解驱动低代码开发 项目地址: https://gitcode.com/erupts/erupt
你还在为后台开发效率低下而烦恼吗?
传统开发模式下,一个简单的数据管理页面需要编写Controller、Service、Repository、Entity、前端Vue/React组件等至少15个文件,耗时2天以上。而使用Erupt框架,仅需1个Java类文件+注解配置,5分钟即可完成同等功能,开发效率提升500%以上。本文将带你从零开始,快速掌握这款革命性的低代码开发工具。
读完本文你将获得:
- 3种极速安装Erupt的方案(Maven/Docker/源码)
- 5分钟创建第一个数据管理模块的实战能力
- 10个核心注解的应用技巧与示例代码
- 从H2切换到MySQL的数据库配置指南
- 企业级部署的最佳实践与性能优化方案
🔥 Erupt框架简介
Erupt是一款基于Java注解驱动的低代码开发框架(Low-Code Framework),它颠覆了传统代码生成器的开发模式,通过运行时动态解析注解来构建应用,实现了"零前端代码、零CURD、自动建表"的开发体验。
核心优势:
- 开发效率:单表管理功能开发时间从2天缩短至5分钟
- 维护成本:代码量减少90%,仅需维护业务模型类
- 架构灵活:支持单体应用、微服务、多数据源等多种部署模式
- 扩展能力:提供丰富的生命周期钩子和自定义组件机制
🚀 安装部署指南(3种方案)
方案1:Maven依赖集成(推荐)
在Spring Boot项目的pom.xml中添加以下依赖:
<!-- 核心依赖 -->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-admin</artifactId>
<version>1.12.23</version>
</dependency>
<!-- 前端Web界面 -->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-web</artifactId>
<version>1.12.23</version>
</dependency>
<!-- 数据库驱动 (以MySQL为例) -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
方案2:Docker容器部署
docker run -d \
-p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/erupt?useSSL=false" \
-e SPRING_DATASOURCE_USERNAME="root" \
-e SPRING_DATASOURCE_PASSWORD="123456" \
-e SPRING_DATASOURCE_DRIVER_CLASS_NAME="com.mysql.cj.jdbc.Driver" \
erupts/erupt-cloud-server:1.12.23
环境变量说明:
| 变量名 | 描述 | 默认值 |
|---|---|---|
| SPRING_DATASOURCE_URL | 数据库连接地址 | H2内存数据库 |
| SPRING_DATASOURCE_USERNAME | 数据库用户名 | sa |
| SPRING_DATASOURCE_PASSWORD | 数据库密码 | 空 |
| ERUPT_REDIS_SESSION | 是否使用Redis存储会话 | false |
方案3:源码编译部署
# 克隆代码仓库
git clone https://gitcode.com/erupts/erupt.git
cd erupt
# 编译打包
mvn clean package -Dmaven.test.skip=true
# 运行示例项目
cd erupt-sample
java -jar target/erupt-sample-1.12.23.jar
⚡️ 快速开始:5分钟创建数据管理模块
1. 配置数据库连接
修改application.yml文件:
spring:
datasource:
url: jdbc:mysql://localhost:3306/erupt?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
show-sql: true # 开发环境建议开启SQL日志
generate-ddl: true # 自动建表
2. 创建实体类
新建Java类文件src/main/java/xyz/erupt/sample/model/Product.java:
package xyz.erupt.sample.model;
import xyz.erupt.annotation.Erupt;
import xyz.erupt.annotation.EruptField;
import xyz.erupt.annotation.sub_erupt.Power;
import xyz.erupt.annotation.sub_field.Edit;
import xyz.erupt.annotation.sub_field.View;
import xyz.erupt.annotation.sub_field.sub_edit.Search;
import xyz.erupt.jpa.model.BaseModel;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Erupt(
name = "产品管理",
power = @Power(importable = true, export = true) // 开启导入导出功能
)
@Table(name = "t_product") // 数据库表名
@Entity
public class Product extends BaseModel {
@EruptField(
views = @View(title = "产品名称", sortable = true),
edit = @Edit(
title = "产品名称",
notNull = true, // 必填项
search = @Search(vague = true) // 支持模糊搜索
)
)
private String name;
@EruptField(
views = @View(title = "产品价格"),
edit = @Edit(
title = "产品价格",
notNull = true,
numberType = @Edit.NumberType(min = 0, precision = 2) // 数字类型配置
)
)
private BigDecimal price;
@EruptField(
views = @View(title = "产品分类"),
edit = @Edit(
title = "产品分类",
type = EditType.CHOICE, // 下拉选择框
choiceType = @ChoiceType(
vals = {"电子产品", "服装鞋帽", "食品饮料", "图书音像"}
)
)
)
private String category;
@EruptField(
views = @View(title = "上架时间"),
edit = @Edit(title = "上架时间", type = EditType.DATE) // 日期选择器
)
private Date上架Time;
@EruptField(
views = @View(title = "是否热销"),
edit = @Edit(title = "是否热销", type = EditType.BOOLEAN) // 布尔开关
)
private Boolean hotSale = false; // 默认值false
}
3. 启动应用
# 开发环境启动
mvn spring-boot:run
# 或打包后运行
java -jar target/erupt-sample-1.12.23.jar
4. 访问系统
打开浏览器访问:http://localhost:8080
默认账号密码:admin / erupt
📚 核心注解详解
| 注解 | 作用 | 常用属性 |
|---|---|---|
@Erupt | 类级别注解,标记此类为Erupt模块 | name:模块名称 power:权限配置 dataProxy:数据代理 |
@EruptField | 属性级别注解,标记为模块字段 | views:列表视图配置 edit:编辑视图配置 |
@View | 列表视图配置 | title:列标题 sortable:是否可排序 width:列宽度 |
@Edit | 编辑视图配置 | title:字段标题 type:编辑组件类型 notNull:是否必填 |
@Search | 搜索配置 | vague:是否模糊搜索 type:搜索类型 |
@Power | 权限配置 | add:新增权限 delete:删除权限 importable:导入权限 |
🔧 高级功能实战
1. 数据代理(DataProxy)
通过数据代理可以在数据操作的各个生命周期注入自定义逻辑:
@Component
public class ProductDataProxy implements DataProxy<Product> {
@Override
public void beforeAdd(Product product) {
// 新增前校验
if (product.getPrice().compareTo(BigDecimal.ZERO) <= 0) {
throw new EruptApiError("产品价格必须大于0");
}
// 自动填充创建时间
product.setCreateTime(new Date());
}
@Override
public void afterUpdate(Product product) {
// 更新后操作,如清除缓存、发送通知等
System.out.println("产品" + product.getName() + "已更新");
}
}
在实体类中引用数据代理:
@Erupt(
name = "产品管理",
dataProxy = ProductDataProxy.class // 引用数据代理
)
public class Product extends BaseModel { ... }
2. 自定义数据源
Erupt支持多种数据源,只需添加相应依赖并配置即可:
<!-- MongoDB支持 -->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-mongodb</artifactId>
<version>1.12.23</version>
</dependency>
<!-- Elasticsearch支持 -->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-elasticsearch</artifactId>
<version>1.12.23</version>
</dependency>
3. 微服务部署
使用Erupt Cloud实现微服务架构:
🚩 常见问题解决
1. 数据库连接失败
- 检查数据库服务是否启动
- 验证连接URL格式:
jdbc:mysql://host:port/dbname?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai - 确认数据库用户权限
2. 启动后访问404
- 检查是否添加了
erupt-web依赖 - 确认实体类使用了正确的注解
- 查看应用启动日志,是否有错误信息
3. 注解修改后不生效
- 确保注解属性配置正确
- 检查是否有拼写错误
- 重启应用(开发环境支持热部署)
📈 性能优化建议
- 缓存配置:开启Redis缓存提升查询性能
erupt:
cache:
redis: true
expire: 3600 # 缓存过期时间(秒)
-
数据库优化:
- 为频繁查询的字段建立索引
- 分页查询默认不超过100条数据
-
生产环境配置:
spring:
profiles: prod
jpa:
show-sql: false # 关闭SQL日志
erupt:
devMode: false # 关闭开发模式
🌟 开发效率对比
| 功能模块 | 传统开发 | Erupt开发 | 代码量对比 |
|---|---|---|---|
| 单表CRUD | 2天/15文件 | 5分钟/1文件 | 15:1 |
| 数据校验 | 2小时/多个Validator | 10分钟/注解配置 | 20:1 |
| 权限控制 | 1天/复杂配置 | 30分钟/注解配置 | 10:1 |
| 导入导出 | 1天/POI代码 | 5分钟/@Power注解 | 50:1 |
| 总计 | 4.5天 | 1小时 | 108:1 |
🎯 总结与展望
Erupt框架通过Java注解驱动的创新方式,彻底改变了传统后台开发模式,让开发者能够专注于业务逻辑而非重复劳动。本文介绍了Erupt的安装部署、快速入门、核心注解、高级功能和性能优化等内容,帮助你快速掌握这款高效的低代码开发工具。
随着数字化转型的加速,低代码开发将成为未来的主流开发模式之一。Erupt框架持续迭代,即将推出AI辅助开发、移动端原生支持等更强大的功能,让我们共同期待!
如果本文对你有帮助,请点赞、收藏、关注三连支持!下期我们将带来《Erupt高级实战:从单体应用到微服务架构的平滑过渡》。
Erupt官方仓库:https://gitcode.com/erupts/erupt
【免费下载链接】erupt 🚀 通用数据管理框架,VORM 对象视图模型,注解驱动低代码开发 项目地址: https://gitcode.com/erupts/erupt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



