「開(kāi)源資訊」開(kāi)源低代碼開(kāi)發(fā)平臺(tái):光,一個(gè) Excel 模板搞定一切(開(kāi)源的低代碼開(kāi)發(fā)平臺(tái))
來(lái)源:https://www.oschina.net/news/117121/lightsbmeu-updated
簡(jiǎn)介
是一個(gè)開(kāi)源的Java低代碼開(kāi)發(fā)平臺(tái),生成基于SpringBoot的Java應(yīng)用程序源代碼。您只需要編寫(xiě)一個(gè)Excel模板,描述您要生成的數(shù)據(jù)對(duì)象,他們之間的關(guān)系和您不需要的功能。平臺(tái)會(huì)生成一切必要的代碼,并自動(dòng)保存您的Excel模板,方便您以迭代的方式開(kāi)發(fā)。
項(xiàng)目地址:https://gitee.com/jerryshensjf/LightSBMEU
二進(jìn)制war包下載地址:https://gitee.com/jerryshensjf/LightSBMEU/attach_files
引子
傳說(shuō)在阿拉伯半島一個(gè)神秘的月亮山洞里,有一盞神奇的神燈,它可以滿(mǎn)足您三個(gè)愿望,夜之精靈守護(hù)著這盞神燈,和洞里無(wú)數(shù)的其他珍寶。此處并非任何人的財(cái)產(chǎn),勇敢的人才是神燈的主人。
年輕的程序員阿拉丁找到了這個(gè)山洞,在洞穴幽藍(lán)的微光下,他摩擦了這盞神燈,于是,夜之精靈退后,一位燈神出現(xiàn)了,他宣稱(chēng)可以滿(mǎn)足阿拉丁三個(gè)愿望,任何愿望。于是,阿拉丁提出了他的第一個(gè)愿望:"給我一臺(tái)支持Excel的Apple I。"
燈神為難了:"有沒(méi)有搞錯(cuò),那時(shí)候有沒(méi)有Excel?"
"我不管,您不是萬(wàn)能的燈神嗎?"
"那好吧,這些研發(fā)工作我替喬布斯做了?!?/p>
于是,第二個(gè)愿望:"給我一套Excel模板。"
最后的愿望是:”生成一套管理系統(tǒng)!"
簡(jiǎn)介
第三代動(dòng)詞算子式代碼生成器:光SBMEU版,采用Maven, EasyUI,SpringBoot 2, MyBatis, MariaDB 技術(shù)棧
歡迎大家使用由無(wú)垠式,和平之翼和光三代動(dòng)詞算子式代碼生成器組成的動(dòng)詞算子式代碼生成器陣列,在我的碼云站點(diǎn)https://gitee.com/jerryshensjf/大家可以找到這些代碼生成器。把他們統(tǒng)統(tǒng)部署在Tomcat中,您可以獲得超過(guò)600N的代碼變形能力。
項(xiàng)目圖片:光
光SBMEU 2.0 版項(xiàng)目代號(hào)Insight 內(nèi)省
主要包含動(dòng)態(tài)椰子樹(shù)式的目錄結(jié)構(gòu),動(dòng)態(tài)域?qū)ο蠛虲ontroller后綴,域?qū)ο髠€(gè)性化表名前綴和動(dòng)詞否定四個(gè)功能。
原來(lái),動(dòng)詞算子式代碼生成器的目錄結(jié)構(gòu)是椰子樹(shù)式的,就是路徑前綴是可變的,但是像service和dao等等的子文件夾是固定的,現(xiàn)在,這些子文件夾也是動(dòng)態(tài)的,所以稱(chēng)為動(dòng)態(tài)椰子樹(shù)式的文件夾。
動(dòng)態(tài)域?qū)ο蠛虲ontroller后綴允許產(chǎn)生各種風(fēng)格的代碼,以適應(yīng)不同項(xiàng)目組的需要。
域?qū)ο髠€(gè)性化表名前綴允許一個(gè)項(xiàng)目擁有多種表名前綴,對(duì)有些項(xiàng)目組而言,這是他們喜歡的風(fēng)格。
動(dòng)詞否定的含義是您可以在Excel模板中的域?qū)ο箜?yè)中否定掉您不需要的動(dòng)詞。這樣,就不需要手工刪除了,大大節(jié)省了工作量,這是我很自豪的功能,我沒(méi)有做功能的加法,而是使用了減法,這是非常實(shí)用和新穎的。
Insight的Beta3版已經(jīng)實(shí)現(xiàn)了動(dòng)詞否定功能,從此,您可以靈活的定義對(duì)象的操作。如果某對(duì)象不需要?jiǎng)h除功能,您只需要否定Delete功能,相關(guān)代碼就不會(huì)在代碼生成物中出現(xiàn)了。
內(nèi)省(Insight)的Beta3版
內(nèi)省的Beta3版已公布。請(qǐng)使用示例DynamicSample,DynamicSample2和DynamicOracleEn作為動(dòng)態(tài)椰子樹(shù)功能樣例測(cè)試。請(qǐng)使用DenySample和DenyOracleEn作為動(dòng)詞否定的樣例測(cè)試??稍诒菊靖郊幭螺dBeta3版。 https://gitee.com/jerryshensjf/LightSBMEU/attach_files
現(xiàn)在,Beta3版包含動(dòng)態(tài)椰子樹(shù)式的目錄結(jié)構(gòu),域?qū)ο蠛虲ontroller后綴可配置和域?qū)ο罂膳渲帽砻熬Y和動(dòng)詞否定四大功能。
在不同項(xiàng)目組的實(shí)踐中,有些代碼的細(xì)節(jié)是不一致的,比如,域?qū)ο笥腥讼矚g不帶后綴,有人喜歡使用Entiy或PO,有人喜歡后綴Dto。路徑有人喜歡使用dao,daoimpl,service,serviceimpl,controller,而有人喜歡使用dao,dao.impl,service,service.impl,controller這些變體,內(nèi)省都支持。你甚至可以規(guī)定Controller使用Facade或者Adapter后綴,并定義相關(guān)的Controller路徑,內(nèi)省都可以準(zhǔn)確的生成無(wú)錯(cuò)的代碼。
內(nèi)省(Insight)的Beta3版的動(dòng)詞否定功能
有了動(dòng)詞否定功能,您可以否定掉不需要的功能,但是注意,動(dòng)詞間有依賴(lài)關(guān)系,比如,您否定了Clone功能,卻沒(méi)有否定CloneAll功能,這時(shí),代碼生成器會(huì)報(bào)錯(cuò),原因是CloneAll依賴(lài)Clone動(dòng)詞完成每一個(gè)Clone動(dòng)作,否定CloneAll而不否定Clone是可以的,反之則有編譯錯(cuò)誤。
特別的,Beta3版提供了便利的max和max 功能。max功能是最大限度的否定,即除了ListActive,SearchByFieldsByPage和FindById三個(gè)默認(rèn)動(dòng)詞外全部否定。 max 功能是一種便利的約定,單獨(dú)的max 含義和max一樣,但是max ,Add,Update 的含義是除了三個(gè)默認(rèn)動(dòng)詞外還有Add和Update兩個(gè)動(dòng)詞不被否定,即有5個(gè)動(dòng)詞,即是max 后面的動(dòng)詞列表不是默認(rèn)的減法,而是加法。 Beta3版提供了動(dòng)詞否定的在線文檔。請(qǐng)大家參考。
動(dòng)詞否定效果圖
可以看見(jiàn)按鈕條在不同配置下的功能伸縮。
光SBMEU 1.5版項(xiàng)目代號(hào)Kama 頓悟
此版本是現(xiàn)在的穩(wěn)定版本,請(qǐng)?jiān)诒菊靖郊幭翶arma RC2版本。
功能亮點(diǎn)截圖
Excel和數(shù)據(jù)庫(kù)的新玩法
其實(shí),還可以這樣用代碼生成器,把Excel里的數(shù)據(jù)整成代碼生成器的模板格式,填好數(shù)據(jù),生成項(xiàng)目,操作數(shù)據(jù)完成工作,再利用代碼生成物的Excel導(dǎo)出功能得到加工好的數(shù)據(jù),非常方便,使您擁有了在Excel和數(shù)據(jù)庫(kù)之間自由遷徙的能力。
前后端分離項(xiàng)目自動(dòng)生成
第三代動(dòng)詞算子式代碼生成器:光SBMEU版已支持Vue ElementUI前后端分離項(xiàng)目自動(dòng)生成。您只需要定義一個(gè)后端項(xiàng)目的Excel模板,即可一次生成后端項(xiàng)目和與之配套的前端項(xiàng)目,非常強(qiáng)大,您值得一試。
同時(shí)生成前端后端項(xiàng)目的功能截圖
前端項(xiàng)目運(yùn)行使用方法。
前端項(xiàng)目的使用:首先使用光SBMEU版,生成后端項(xiàng)目和對(duì)應(yīng)的前端項(xiàng)目。運(yùn)行后端項(xiàng)目。注意,啟動(dòng)Application.java類(lèi)啟動(dòng)SpringBoot的后端項(xiàng)目,您需要首先使用Maven將例程編譯。
將前端項(xiàng)目解壓。如果沒(méi)有安裝Nodejs,請(qǐng)先安裝。在解壓的前端界面文件夾內(nèi)運(yùn)行 npm install命令。運(yùn)行好后運(yùn)行npm run dev
一切就緒后訪問(wèn) http://localhost:8000/ 即可使用此示例。
代碼生成物導(dǎo)出功能截圖
導(dǎo)出Excel:
導(dǎo)出PDF:
開(kāi)發(fā)者手冊(cè)(“黑客手冊(cè)”)截圖
Spring Boot啟動(dòng),有圖為證:
相關(guān)技術(shù)博客
地址:https://my.oschina.net/jerryshensjf