光是一个开源的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