本文共 1824 字,大约阅读时间需要 6 分钟。
最近接触到一个挺有意思的框架,叫Erupt。这个框架实现了我刚入行时的梦想,可以说简直就是为前端开发量身定制的工具。之前接触的项目都还没做前后端分离,经常需要后端来帮忙维护页面,有时候真的觉得自己是不是天生不适合做前端工作。你要是让我研究研究后端的技术,分析分析中间件源码,分析框架底层原理,我都没问题。偶尔搞一下JS也可以,但写CSS那可就不是我的强项了。
今天要介绍的框架直接不用写页面了,听起来简直就是完美解决方案。它有超低代码量、零前端代码、零CURD操作、无需建表、纯Java注解开发等特点,号称三分钟就能搭建一个完整的后台管理系统。听起来确实很神奇,咱们一起用起来看看是不是真能做到。
首先来看看搭建环境。Erupt框架支持Java 1.8.0及以上、Spring Boot 2.0及以上。具体来说,需要在项目中引入相应的jar包。需要注意的是,除了Spring Boot和MySQL连接器外,还需要引入Erupt的相关组件包,以及Web和安全组件。这些组件都可以在Maven的依赖管理中找到对应的配置。
接下来是数据库配置。在application.yml文件中只需要简单配置数据源信息,准备好数据库账号即可。这里我要提醒大家,数据库账号和密码要妥善保管。如果不小心泄露了,可能会带来不少麻烦。
最终项目搭建完成后,运行起来会看到控制台打印大量的建表语句和插入语句。这是因为Erupt框架底层使用JPA持久化,预置创建了一些系统表和数据。需要注意的是,Erupt预置表只会在项目第一次启动时构建一次。如果需要重新创建,可以删除Erupt文件,获取文件位置方式即可。
在数据库里创建了16张系统表,其中最重要的一张是e_upms_user表。这个表默认只有一个管理员账号,用户名和密码都是erupt。登录账号已经预先配置好了。
访问http://127.0.0.1:8888/,就能看到一个完整的登录页面。用上述账号登录后,会发现Erupt已经预先实现了权限管理等功能。这个时候我们几乎没写过任何代码,所有菜单类数据都是动态从数据库获取的。基本的后台管理系统就这样搭建完了,感觉简直是魔法。
如果想要自定义页面,Erupt框架提供了丰富的灵活接口。它有两个核心注解:@Erupt和@EruptField。@Erupt修饰类,表示定义一个页面;@EruptField修饰字段,表示页面上显示的字段名。还有@Power控制按钮权限,@Search表示字段用于搜索条件,@Table表示页面取数据对应的表。
举个例子,定义一个Student类,加上@Erupt、@EruptField等注解,就能生成一个完整的页面。通过注解配置,页面功能也能实现增删改查、导入导出等操作。不过,新创建的页面不会直接显示出来,还需要在菜单维护中自定义菜单,类型值要设置为类名Student。
保存后刷新页面,新页面就能看到了。页面新增一个学生信息,对应的Student表也会自动多一条记录。框架负责持久化的过程完全由它来做。
虽然Erupt框架对前后端代码做了深度封装,但它也提供了丰富的自定义接口。比如在录入新学生信息时,想要屏蔽名字为张三的同学,只需对页面按钮功能做代理dataProxy,实现自定义逻辑即可。代理方法有beforeAdd、afterAdd、afterDelete等,按需实现对应的逻辑。
如果想传统方式开发接口,也不会有问题。Erupt内部集成了JPA,提供了现成的DAO接口,调用对应API就能上手开发。对于不想手写Java代码的开发者,也有代码生成器可以使用,自定义Java类名和字段名,直接复制代码就行了。
说到这里,我只介绍了Erupt的一些基础特性,主要目的是让大家知道有这么个敏捷利器。它支持丰富的数据类型,内置了定时任务管理、多表联合查询、前后端分离部署、接口权限、操作记录、多数据源、邮件系统、黑白名单等实用功能,都直接调用API就能使用。
总的来说,Erupt框架的优势明显。它快捷、高效、上手容易,对新手非常友好。但在实际生产环境中,我更多是用它来做一些配置字典类的数据管理。虽然它的深度封装让开发变得简单高效,但对于业务复杂、高度定制的系统来说,Erupt可能显得力不从心。更重要的是,Erupt的社区不算特别活跃,毕竟是个小众框架。不过,技术从来都是服务于业务的,如果你的业务与Erupt的气质相匹配,别犹豫用它!
转载地址:http://mkuq.baihongyu.com/