今天给大家带来一款开源的 Java 后台管理框架——Erupt Framework
erupt 是一个低代码 全栈类 框架,它使用 Java 注解 动态生成页面以及增、删、改、查、权限控制等后台功能,会简单的 Spring Boot 基础知识即可,不需要懂前端,也不需要写繁琐的 CURD ,自动创建表结构,controller / service / sao / mapper 文件都不用创建,极大减少开发工作量,将后台开发速度提升到极致。
项目地址:https://gitee.com/erupt/erupt
简单新建一个实体类,加点注解,就ok了,不信?跟着本文,跟着我探索 erupt 的奥秘。
一、快速开始 1.1 环境准备后端环境:
JDK 1.8+
Maven 3.0+
MYSQL 5.5+
开发工具
IDE:IDEA
MySQL 可视化:Navicat
1.2 快速开始(1)clone 项目
GitHub:
git clone https://github.com/erupts/erupt-example.gitGitee(国内访问网速较快):
git clone https://gitee.com/erupt/erupt-example.git(2)创建 MySQL 数据库
打开 Navicat,连接 MySQL,新建数据库 erupt,设置字符集和排序规则如下图所示:
(3)运行后端项目
配置文件:使用 IDEA 打开后端项目 erupt-example,等待 maven 下载结束后,打开配置文件 yml 配置数据库,改成你机器上的 MySQL。
# application.properties写法 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/erupt?useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=123456 spring.jpa.show-sql=true spring.jpa.generate-ddl=true spring.jpa.database=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect项目启动的时候,会自动导入数据表到MySQL。
1.3 效果预览运行成功访问 :8080
账号:erupt
密码:erupt
二、快速创建一个管理页面 2.1 创建一个Java 实体类创建一个Java类,代码如下
package xyz.demo.erupt.example.model; import org.hibernate.annotations.GenericGenerator; import xyz.erupt.annotation.Erupt; import xyz.erupt.annotation.EruptField; import xyz.erupt.annotation.sub_field.Edit; import xyz.erupt.annotation.sub_field.View; import javax.persistence.*; /* * @Erupt注解修饰在类上,@EruptField注解修饰在字段上 * 其他注解均为Jpa注解 */ @Erupt(name = "简单的例子") @Table(name = "demo_simple") @Entity public class Simple { //主键 @Id @GeneratedValue(generator = "generator") @GenericGenerator(name = "generator", strategy = "native") @Column(name = "ID") @EruptField private Long id; //文本输入 @EruptField( views = @View(title = "文本"), edit = @Edit(title = "文本") ) private String input; //数值输入 @EruptField( views = @View(title = "数值"), edit = @Edit(title = "数值") ) private Integer number; //布尔选择 @EruptField( views = @View(title = "布尔"), edit = @Edit(title = "布尔") ) private Boolean bool; //时间选择 @EruptField( views = @View(title = "时间"), edit = @Edit(title = "时间") ) private Date date; } 2.2 启动项目,添加菜单运行效果演示Erupt支持的组件多达23类,可根据实际需求灵活的配置管理后台!
三、核心注解 → @Erupt 3.1 使用方法 @Erupt( name = "Erupt", //功能名称 desc = "Erupt Framework", //描述 loginVerify = true, //是否开启权限验证 orderBy = "id desc", //排序表达式 ) public class EruptTest extends BaseModel { } 3.2 注解配置项说明属性名 描述
primaryKeyCol 主键列名称,默认值为id
name 功能名称
desc 功能描述
authVerify 访问是否需要授权校验
orderBy 排序规则,参照HQL语句 order by 语法
power 控制增删改查导入导出功能
filter 数据展示过滤条件,参照HQL语句where语法
tree 树节点配置
linkTree 左树右表配置
drills 自定义下钻关联视图
rowOperation 自定义功能按钮
dataProxy 代理回调接口方法集
param 自定义参数
四、核心注解 → @EruptField 4.1 注解示例 @EruptField( sort = 10, views = @View(title = "名称"), edit = @Edit(title = "名称") ) private String name; 4.2 注解配置项说明 注解 描述
views 表格展示配置
edit 编辑项配置
sort 前端展示顺序,默认按照字段排列顺序进行排序,数字越小越靠前
params 自定义参数
4.3 @View 属性名 描述
title 表格列名称
desc 表格列描述
column 如果修饰字段为对象类型,需要使用此属性指定,要展示哪一个字段在@ManyToOne时使用此配置
type 数据展示形式,详见
show 是否显示
sortable 是否支持排序前端通过表格列进行排序操作
export 是否支持Excel导出
className 表格样式类名
template 字符串转换模板 该参数在前端使用eval方法解析支持变量:1、item(整行数据)2、item.xxx(数据中的某一列)3、value (当前数据)配置为 → template = "'姓名:' + value"展示效果 → 姓名xxxx