博客
关于我
干掉前端!3分钟纯 Java 搭个管理系统,我直接好家伙!最气人的是还真TM好用!...
阅读量:351 次
发布时间:2019-03-03

本文共 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/

你可能感兴趣的文章
node安装及配置之windows版
查看>>
Node实现小爬虫
查看>>
Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
查看>>
Node提示:npm does not support Node.js v12.16.3
查看>>
Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
查看>>
Node服务在断开SSH后停止运行解决方案(创建守护进程)
查看>>
node模块化
查看>>
node环境下使用import引入外部文件出错
查看>>
node编译程序内存溢出
查看>>
Node读取并输出txt文件内容
查看>>
node防xss攻击插件
查看>>
noi 1996 登山
查看>>
noi 7827 质数的和与积
查看>>
NOIp2005 过河
查看>>
NOIP2011T1 数字反转
查看>>
NOIP2014 提高组 Day2——寻找道路
查看>>
NOIp模拟赛二十九
查看>>
Nokia5233手机和我装的几个symbian V5手机软件
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>
none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
查看>>