背景
现在的工作节奏越来越快,对开发人员的全面性要求越来越高,越来越讲究“全栈”能力。后端和数据库方面的技术还算稳定,前端的技术往往很繁琐,我作为一名数据工程师,一直在寻找一款快捷的开发框架,直到我发现了Erupt。
Erupt是基于springboot的一个web应用框架,最大的特色是不需要关注前端开发,几乎全用注解就可以搭建一个简单的管理系统。
官方文档:使用文档(Latest) · 语雀
代码仓库:https://gitee.com/erupt/erupt
(上面有演示地址、交流群等介绍,这里不多讲)
下面介绍如何一步步上手
前提条件:
熟悉JAVA、数据库、开发工具使用
了解一些springboot、前端知识、git
新建springboot工程
由于springboot官方的引导已经不支持springboot2.x版本和JDK8(个人觉得很无语,没必要撤掉啊),所以推荐用阿里云的引导。
这是官网截图
JDK选择8,springboot选择2.x,我自己选了2.7,项目名称自己起。
使用代码有两种方式,一是下载压缩包,导入IDE,二是用git克隆。
我是在idea里使用git插件直接克隆(后面保存到自己的仓库时,把地址改掉就好)
引入依赖
pom.xml
这里包括Erupt的包、数据库(MySQL)
<!--后端权限逻辑-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-admin</artifactId>
<version>${erupt.version}</version>
</dependency>
<!--后台WEB界面-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-web</artifactId>
<version>${erupt.version}</version>
</dependency>
<!--用户权限管理-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-upms</artifactId>
<version>${erupt.version}</version>
</dependency>
<!--接口数据安全-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-security</artifactId>
<version>${erupt.version}</version>
</dependency>
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-core</artifactId>
<version>${erupt.version}</version>
</dependency>
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-job</artifactId>
<version>${erupt.version}</version>
</dependency>
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-magic-api</artifactId>
<version>${erupt.version}</version>
</dependency>
项目配置文件
application.yml
spring:
datasource:
url: jdbc:mysql://你的数据库IP/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: 你的用户
password: 你的密码
jpa:
show-sql: true
generate-ddl: true
database: mysql
server:
port: 9090
创建实体类
这里引用官方的例子,类路径自己决定即可
@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;
}
创建数据库
手动创建数据库,名字和配置文件一致
MySQL示例:create database erupt
启动
启动类加上注解,加上后才能扫描到实体
@EntityScan
@EruptScan
执行启动类:DemoApplication
观察日志,会自动创建数据表。
在浏览器访问:http://localhost:9090/#/ (端口号和配置文件一致)
初始用户密码:erupt/erupt
第一次登录需要改密码
添加菜单
类型值和java类名一致
名称是菜单显示名字
类型通常选表格视图
保存后,刷新网页,可以在指定路径看到出现了自己的菜单。
系统根据java注解自动生成各种组件,增删查改一应俱全。
到现在为止,一个简单功能就做好了。