Skip to content

erupts/erupt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

中文   |   English

logo

Erupt Framework   🚀   通用�?置管�?�框架

零�?端代�?,急速开�?�通用管�?�系统


Erupt Framework maven-central jdk 8+ license Apache 2.0 Gitee star Gitee fork GitHub stars GitHub forks

Github 仓库   |   �?云仓库   |   🦅 官方网站   |   在线体验   |   框架生�?   |   📕 使用文档


Erupt Cloud�?分布�?多维�?置中心】   |   Erupt Flow �?工作�?】


QQ交�?群:836044286 🔥


🚀 简介 | Intro

Erupt 是一个低代�? 全栈类 框架,它使用 Java 注解 动�?生�?页�?�以�?�增�?删�?改�?查�?�?��?控制等�?��?�功能。

零�?端代�?�?零 CURD�?自动建表,仅需 一个类文件 + 简�?的注解�?置,快速开�?��?业级 Admin 管�?��?��?�。

高扩展性,支�?CURD自由扩展 @DataProxy �?自定义数�?��?�?逻辑删除�?LDAP�?OSS。

�??供�?业级中�?��?�管�?�系统的全栈解决方案,大幅压缩研�?�周期,专注核心业务。

完美�?�代 代�?生�?器,开�?��?��?�管�?�系统更优解决方案

从 2020 年开始�?断优化�?�级,目�?已有上百家中�?型公�?�使用,上�?��??开�?�者开�?�相关应用。上百�??开�?�者�?�与�??交了功能建议,30多�??贡献者�?�与�??交代�?。

🌈 特性 | Features

  • 自动建表:表结构自动生�?,无需手动建表

  • 易于上手:会简�?�的 Spring Boot 基础知识�?��?�

  • 使用简�?�:仅需了解 @Erupt 与 @EruptField 两个注解�?��?�上手开�?�

  • 代�?简�?:仅需一个 .java 文件, template�?controller�?service�?dao 都�?需�?创建

  • 功能强大:动�?�?�件处�?�,逻辑删除,LDAP,自定义登录逻辑,RedisSession,�?作日志等

  • 多数�?��?:支�?:MySQL�?Oracle�?SQL Server�?PostgreSQL�?H2,甚至支�? MongoDB

  • 高扩展性:支�?自定义数�?��?实现�?自定义登录逻辑�?动�?�?��?管�?��?生命周期函数�?自定义 OSS

  • 大�?组件:滑动输入�?时间选择�?一对多�?图片上传�?代�?编辑器�?自动完�?�?树�?多对多�?地图等23类组件

  • 丰富展示:普通文本�?二维�?�?链接�?图片�?HTML�?代�?段�?iframe�?swfç­‰


  • 低侵入性:几乎所有功能都围绕注解而展开,�?影�?Spring Boot其他功能或三方库库的使用

  • �?�?�端分离:�?�端与�?端�?�分开部署

  • �?应�?布局:支�?PC端手机端等�?��?规格的设备中使用

  • 自定义页�?�:支�?自定义页�?�,自定义弹出层,且支�?:原生H5 / Freemarker / Thymeleaf等方�?渲染

  • �?端零代�?:�?端布局自动构建,一行�?端代�?都�?用写

  • 无需二次开�?�:仅需引用 jar 包�?��?� �?

�?� 代�?仓库 | Git Repository

Github �?云
�?�端�?�? https://github.com/erupts/erupt https://gitee.com/erupt/erupt
�?端�?�? https://github.com/erupts/erupt-web https://gitee.com/erupt/erupt-web
示例代�? https://github.com/erupts/erupt-example https://gitee.com/erupt/erupt-example

�? 为什么�?�?� Erupt ?

虽然近些年�?� 代�?生�?器 �?了�?��?�开�?�的新宠,但它真的是�?��?�开�?�的最优解�?�?

代�?生�?器的本质还是生�?�?�??的�?端与�?��?�代�?,一旦修改�?�期生�?的代�?很难�?�并,想想 Mybatis-Generator,基本上就是一次性的东西,虽然�?轻了部分工作,�?�解决方�?并�?�最佳。

开�?��?��?�管�?�系统大部分情况下�?�想�?�个普通的增删改查界�?�,用于数�?�管�?�,类似下�?�这�?:

PS: erupt支�?定义�?�?�的页�?�自定义,详�? erupt-tpl 模�?�

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;

}

功能体验

这个界�?�虽然用 Vue + Ant Design + SSM 也能�?�出个大概,但仔细观察会�?�现它有大�?细节功能如:

  • 有按钮�?�以查询�?新增�?批�?删除�?excel 导入导出
  • �?�以对数�?��?�筛选�?�?�?�?列�?按�?列排�?
  • 表格有分页与汇总,�?�预览�?�行数�?�
  • 多�?组件�?有校验规则

全部实现这些仅�?端就需�?大�?的代�?,�?�端的接�?�与业务逻辑更�?在少数。

但�?�以看到,用 erupt �?�需�? 30几行 代�?就能完�? �?

完全�?需�?了解 Angular / React / Vue / Jquery

而且�?需�?了解 JavaScript / HTML / CSS

甚至�?需�?了解 Spring MVC / Mybatis / SQL

�?�便没学过 erupt 也能猜到大部分�?置的作用,�?�需�?简�?��?置就能完�?所有�?��?�页�?�开�?�。

这正是建立 erupt 的�?衷,对于大部分常用页�?�,应该使用最简�?�的方法�?�实现,甚至�?需�?学习�?��?框架和工具,专注核心业务。

🆚 开�?�方�?横�?�比对 | VS

传统 Spring Web 开�?� 代�?生�?器 Axelor Erupt
领域模型 Java 代�? Java 代�? XML 定义 Annotation 注解定义
DTO Java 代�? 代�?生�? �?需�? �?需�?
ORM 映射 XML 或 Java 代�? 代�?生�? 代�?生�? 注解定义
数�?�访问 接�?� + 实现 代�?生�? 代�?生�? 内置 + 按需实现
业务逻辑 接�?� + 实现 代�?生�? + 逻辑调整 内置 + 按需实现 内置 + 按需 @DataProxy 实现
展现层 MVC Java 代�? + 视图模�?� 代�?生�? + 逻辑调整 �?需�? �?需�?
�?端 比 Java 代�?还多 代�?生�? + 逻辑调整 常规应用无需开�?� 常规应用无需开�?�

⛰ 演示截图 | Screenshot

移动端展示效果

🔗 下载使用 | Download

下载最新的JAR或通过Maven获�?�。

<!--用户�?��?管�?�-->
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-upms</artifactId>
  <version>LATEST-VERSION</version>
</dependency>
<!--接�?�数�?�安全-->
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-security</artifactId>
  <version>LATEST-VERSION</version>
</dependency>
<!--�?��?�WEB界�?�-->
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-web</artifactId>
  <version>LATEST-VERSION</version>
</dependency>

详细使用步骤

�? 模�?�说明 | Module

erupt
├── erupt-annotation -- 核心注解声明
├── erupt-core -- 核心功能实现
├── erupt-data -- 数�?�实现包
     ├── erupt-jpa -- 关系型数�?�库erupt实现
     └── erupt-mongodb -- mongodb数�?�库erupt实现
├── erupt-job -- 定时任务功能,支�?动�?定时任务,邮件�?��?,任务日志等功能
├── erupt-upms -- 用户�?��?管�?�
├── erupt-security -- 接�?�数�?�安全
├── erupt-web -- 编译�?�的�?端页�?�
├── erupt-tpl -- 支�?在 erupt 中自定义页�?�,自定义图表,自定义弹出层,模�?�引擎支�?:FreeMarker / Thymeleaf / 原生H5 / Velocity 等
├── erupt-tpl-ui -- 在 erupt-tpl 中�?�使用的 UI 库
    ├── ant-design
    ├── element-ui
    └── amis 
├── erupt-generator -- 代�?生�?器,通过�?置,生�? erupt 代�?段
└── erupt-monitor -- 基于erupt实现的�?务监控

erupt-pro
├── erupt-dataflow -- 基于erupt实现的数�?��?(构�?中)
├── erupt-workflow -- 基于erupt实现的工作�?(构�?中)
├── erupt-tenant -- 基于erupt实现的SaaS云多租户(开�?�中,�?��?��?业用户)
└── erupt-bi -- 通过 sql 加 js 混编实现动�?报表,支�?:多数�?��?�?自定义函数�?图表开�?�等(�?��?��?业用户)

erupt-site -- Erupt 官方网站 https://github.com/erupts/erupt-site

erupt-web -- Erupt �?端�?�? https://github.com/erupts/erupt-web

📟 技术体系 | Technology system

�?�端: Java 8�? Spring Boot�? ScriptEngine�?SpEL�? Annotation�? JDBC�? Reflect�? JPA�? Hibernate�? Quartz�? Gson�? Lombok�? POI ...

�?端: JavaScript�? H5�? MVVM�? Router�? Angular CLI�? Angular�? NG-ZORRO�? NG-ALAIN�? G2Plot�? RxJS�? TypeScript�? Less ...

⚙�? 架构图 | Framework

架构图

🌕 在线体验 | Demo

演示地�?�:https://www.erupt.xyz/demo

账�?�密�?:guest / guest

支�?主�? 4 款现代�?览器,以�?� Internet Explorer 11+,�?�直接�?行在 Electron 等基于 Web 标准的环境上

IE / Edge
Edge / IE
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
Electron
Electron
Edge 16 / IE 11+ 522 57 11 44 Chromium 57

🔭 开�?推�?? | Recommend

zeta-api:通过XML�?置快速创建api接�?�与文档,安全且高效,快速开�?�必备�?
Jpom:简而轻的低侵入�?在线构建�?自动部署�?日常�?维�?项目监控软件

🧩 加入讨论

QQ交�?群:836044286 🔥

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

⛽�? �??赠 | Donate

此框架�?务器,域�??,空间,人工等费用一直由作者本人自�?腰包并�?续维护,开�?�?易,一�?�咖啡也是爱 �?

�?往�??赠

�?�? Erupt 使用 Apache License 2.0 �??议,�?代�?完全开�?,无商业�?制。 开�?�?易如果喜欢请给作者 Star 鼓励 👇


Github 仓库   |   �?云仓库   |   🦅 官方网站   |   在线体验   |   📕 使用文档


作者 :YuePeng / erupts@126.com