开源低代码开发平台:光,一个 Excel 模板搞定一切
光是一个开源的Java低代码开发平台,生成基于SpringBoot的Java应用程序源代码。您只需要编写一个Excel模板,描述您要生成的数据对象,他们之间的关系和您不需要的功能。平台会生成一切必要的代码,并自动保存您的Excel模板,方便您以迭代的方式开发。
项目地址:https://gitee.com/jerryshensjf/LightSBMEU
二进制war包下载地址:https://gitee.com/jerryshensjf/LightSBMEU/attach_files
引子
传说在阿拉伯半岛一个神秘的月亮山洞里,有一盏神奇的神灯,它可以满足您三个愿望,夜之精灵守护着这盏神灯,和洞里无数的其他珍宝。此处并非任何人的财产,勇敢的人才是神灯的主人。
年轻的程序员阿拉丁找到了这个山洞,在洞穴幽蓝的微光下,他摩擦了这盏神灯,于是,夜之精灵退后,一位灯神出现了,他宣称可以满足阿拉丁三个愿望,任何愿望。于是,阿拉丁提出了他的第一个愿望:"给我一台支持Excel的Apple I。"
灯神为难了:"有没有搞错,那时候有没有Excel?"
"我不管,您不是万能的灯神吗?"
"那好吧,这些研发工作我替乔布斯做了。”
于是,第二个愿望:"给我一套Excel模板。"
最后的愿望是:”生成一套管理系统!"
简介
第三代动词算子式代码生成器:光SBMEU版,采用Maven, EasyUI,SpringBoot 2, MyBatis, MariaDB 技术栈
欢迎大家使用由无垠式,和平之翼和光三代动词算子式代码生成器组成的动词算子式代码生成器阵列,在我的码云站点https://gitee.com/jerryshensjf/大家可以找到这些代码生成器。把他们统统部署在Tomcat中,您可以获得超过600N的代码变形能力。
项目图片:光
光SBMEU 2.0 版项目代号Insight 内省
主要包含动态椰子树式的目录结构,动态域对象和Controller后缀,域对象个性化表名前缀和动词否定四个功能。
原来,动词算子式代码生成器的目录结构是椰子树式的,就是路径前缀是可变的,但是像Service和Dao等等的子文件夹是固定的,现在,这些子文件夹也是动态的,所以称为动态椰子树式的文件夹。
动态域对象和Controller后缀允许产生各种风格的代码,以适应不同项目组的需要。
域对象个性化表名前缀允许一个项目拥有多种表名前缀,对有些项目组而言,这是他们喜欢的风格。
动词否定的含义是您可以在Excel模板中的域对象页中否定掉您不需要的动词。这样,就不需要手工删除了,大大节省了工作量,这是我很自豪的功能,我没有做功能的加法,而是使用了减法,这是非常实用和新颖的。
Insight的Beta3版已经实现了动词否定功能,从此,您可以灵活的定义对象的操作。如果某对象不需要删除功能,您只需要否定Delete功能,相关代码就不会在代码生成物中出现了。
内省(Insight)的Beta3版
内省的Beta3版已公布。请使用示例DynamicSample,DynamicSample2和DynamicOracleEn作为动态椰子树功能样例测试。请使用DenySample和DenyOracleEn作为动词否定的样例测试。可在本站附件处下载Beta3版。 https://gitee.com/jerryshensjf/LightSBMEU/attach_files
现在,Beta3版包含动态椰子树式的目录结构,域对象和Controller后缀可配置和域对象可配置表名前缀和动词否定四大功能。
在不同项目组的实践中,有些代码的细节是不一致的,比如,域对象有人喜欢不带后缀,有人喜欢使用Entiy或PO,有人喜欢后缀Dto。路径有人喜欢使用dao,daoimpl,service,serviceimpl,controller,而有人喜欢使用dao,dao.impl,service,service.impl,controller这些变体,内省都支持。你甚至可以规定Controller使用Facade或者Adapter后缀,并定义相关的Controller路径,内省都可以准确的生成无错的代码。
内省(Insight)的Beta3版的动词否定功能
有了动词否定功能,您可以否定掉不需要的功能,但是注意,动词间有依赖关系,比如,您否定了Clone功能,却没有否定CloneAll功能,这时,代码生成器会报错,原因是CloneAll依赖Clone动词完成每一个Clone动作,否定CloneAll而不否定Clone是可以的,反之则有编译错误。
特别的,Beta3版提供了便利的max和max+功能。max功能是最大限度的否定,即除了ListActive,SearchByFieldsByPage和FindById三个默认动词外全部否定。 max+功能是一种便利的约定,单独的max+含义和max一样,但是max+,Add,Update 的含义是除了三个默认动词外还有Add和Update两个动词不被否定,即有5个动词,即是max+后面的动词列表不是默认的减法,而是加法。 Beta3版提供了动词否定的在线文档。请大家参考。
动词否定效果图
可以看见按钮条在不同配置下的功能伸缩。
光SBMEU 1.5版项目代号Kama 顿悟
此版本是现在的稳定版本,请在本站附件处下Karma RC2版本。
功能亮点截图
Excel和数据库的新玩法
其实,还可以这样用代码生成器,把Excel里的数据整成代码生成器的模板格式,填好数据,生成项目,操作数据完成工作,再利用代码生成物的Excel导出功能得到加工好的数据,非常方便,使您拥有了在Excel和数据库之间自由迁徙的能力。
前后端分离项目自动生成
第三代动词算子式代码生成器:光SBMEU版已支持Vue+ElementUI前后端分离项目自动生成。您只需要定义一个后端项目的Excel模板,即可一次生成后端项目和与之配套的前端项目,非常强大,您值得一试。
同时生成前端后端项目的功能截图
前端项目运行使用方法。
前端项目的使用:首先使用光SBMEU版,生成后端项目和对应的前端项目。运行后端项目。注意,启动Application.java类启动SpringBoot的后端项目,您需要首先使用Maven将例程编译。
将前端项目解压。如果没有安装Nodejs,请先安装。在解压的前端界面文件夹内运行 npm install命令。运行好后运行npm run dev
一切就绪后访问 http://localhost:8000/ 即可使用此示例。
代码生成物导出功能截图
导出Excel:
导出PDF:
开发者手册(“黑客手册”)截图
Spring Boot启动,有图为证:
相关技术博客
地址:https://my.oschina.net/jerryshensjf
技术博客截图:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Hutool 5.3.9 发布,目标无 issue 遗留
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当; Hutool是项目中“util”包友好的替代,它节省了我们对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。 ------------------------------------------------------------------------------------------------------------------- 好久不发新闻了,Hutool依旧在快速迭代,力争issue和pr双清。 PS:Hutool的完善和进步离不开大家的献言献策和pr贡献,但是我们不可能面面俱到,用户提的问题也不可能全部解决,未能解决的问题主要以下几个方面: 1、用户提的issue简单一句,无法理解或者复现问题,...
- 下一篇
AWS和甲骨文争夺混合云数据库部署
近日Amazon Web Services(亚马逊云计算服务,AWS)和甲骨文发布一系列新产品,使云数据库重新回到本地部署。 AWS公司在7月6日表示,其AWS Outposts服务现在支持Amazon Relational Database Service(Amazon RDS)。AWS Outposts将AWS公共云移植到企业自己的数据中心。 Amazon RDS为用户提供了很多不同关系数据库的云版本,包括MySQL、PostgreSQL、MariaDB和SQL Server。 随着Amazon RDS在AWS Outposts上运行,最初受支持的两个数据库是MySQL和PostgreSQL。借助AWS Outposts,用户可以在本地运行数据库工作负载,并获得与公共云产品中功能相同的AWS云备份和控制功能。 甲骨文推出混合云数据库部署 值得一提的是,甲骨文在7月8日向客户推出其Delicated Region Cloud at Customer产品,该产品将甲骨文的云服务(包括Oracle自治数据库)引入本地部署。这个新系统为甲骨文用户提供了完全托管的平台,并且,该平台部署在本地...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果