EightRoes V1.0.4 发布,插件式开发框架
EightRoes插件式开发框架
一个基于 Spring Boot、Shiro、 JWT、Mybatis Plus、Vue、Ant-Design-Vue 的前后端分离的插件式快速开发框架
EightRoes 的开发机制是基于插件的可插拔的松耦合体系。在软件行业中普遍存在一种现象:软件企业特别是产品型的软件企业往往倾向于劝说客户去适应产品的现有功能,而比较抗拒对产品中的功能做客户化修改。这种现象的出现并不全部是修改本身的工作量的原因(大部分情况下修改的工作量实际上非常小),而在于这种修改要求软件企业为每一客户保有一个产品的版本库分支,将来对此客户的任何响应都要基于此一分支,此一分支也不便于和主版本同步演进,这就会带来比较大的管理成本。特别是熟悉此一分支的骨干人员离职之后,对于客户的服务水平将会急剧下降。
针对此一问题,EightRoes 构建了一套插件体系,并为此体系提供了基于 IDEA 的开发插件,使得客户的个性化需求通过可插拔的插件来实现。特别地,EightRoes 允许通过在插件中声明扩展点和扩展项来覆盖和扩展产品中原有的功能,但又不影响产品本身的升级。通过这种方式,每个项目只需要维护该项目特有的一个或几个插件的代码即可,项目版本库中的代码量急剧减少,代码的可读性、可维护性大增,又因为没有修改产品的核心代码,因此只需要着重测试项目相关的插件即可,测试的工作量也随之大减,从而较好地兼顾了个性化实施和管理成本两个方面。
在线体验
预览地址:http://www.ssrsdev.top/eightroesadmin
账号密码:admin / admin
项目源码
码云作为国内同步仓库,可解决 Github 克隆缓慢的问题。
后端源码 | 前端源码 | |
---|---|---|
Gitee | https://gitee.com/quella01/EightRoes | https://gitee.com/quella01/EightRoes-Client |
反馈交流
使用中遇到问题或者 Bug 可以在 Gitee 上提 Issues
项目反馈交流群:893689646
此次更新:V1.0.4 版本
- 增加系统日志扩展服务
- 增加登陆日志服务项
- 增加操作日志服务项
- 增加sql日志服务项
- 增加日志下载功能
- 增加头像自动生成功能
- 增加DownloadFileUtil工具类
- 修复mvn install 会执行GPG 命令
- 修复登陆验证码bug
- 修复一些页面bug

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
英特尔20GB内部数据泄漏,涉及其芯片机密知识产权
英特尔正在调查安全漏洞。因为今日早些时候,该公司在文件共享网站MEGA上在线上传了20 GB内部文件,其中包括 “机密”或“限制机密”标志的文件。 该数据由瑞士软件工程师蒂尔·科特曼(Till Kottmann)发布,他收到了一位匿名黑客的文件,该黑客声称自己已于今年早些时候入侵英特尔。 Kottmann收到Intel漏洞,是因为他管理着一个非常受欢迎的Telegram频道。在这个频道里,他定期发布数据泄露信息。这些数据通过错误配置的Git存储库,云服务器和Web门户,从大型科技企业在线泄漏。 这位瑞士工程师说,今天的泄漏是英特尔相关泄漏系列的第一部分。一些匿名安全研究人员表示泄漏事件是真的。 根据分析,泄露的文件包含与各种芯片组的内部设计有关的英特尔知识产权,比如2016年的CPU的技术规格,产品指南和手册。 以下是Kottmann提供的泄漏文件的摘要: Intel ME Bringup指南+(闪存)工具+各种平台的示例 Kabylake(Purley平台)BIOS参考代码和示例代码+初始化代码(其中一些具有完整历史记录的导出git存储库) Intel CEFDK(消费电子固件开发)...
- 下一篇
木兰编程语言重现:通过玩三岁游戏完善语言功能
某个号称三岁以上就可以玩的桌游,抽象之后的基本问题就是在一个区域中如何摆放三种形状(朝向随意)。 比如区域: 三种形状(短折,长折,一字),各种朝向如下: 这是迄今为止用木兰语言编写的最复杂的实用代码,包括一个递归搜索,长约 150 行,测试约 70 行。其中一个类如下: 细节和算法有很大改进空间,欢迎指教。 期间根据需要复现了木兰的如下功能: == 操作符重载 type 点 { func $点(横, 纵) { self.横, self.纵 = 横, 纵 } operator == (另一点) { return self.横 == 另一点.横 and self.纵 == 另一点.纵 } } 可指定函数返回类型 type Person { { name = "小白" } func $__init__(name) { self.name = name } } func shout(id): Person { return Person(id) } print(shout("Mulan1").name) 根据范围取子列表 比如 a[...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Linux系统CentOS6、CentOS7手动修改IP地址