「開源資訊」開源低代碼開發平台:光,一個 Excel 模板搞定一切

來源:https://www.oschina.net/news/117121/lightsbmeu-updated

簡介

是一個開源的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