這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)
背景
目前大部分的代碼生成方式都是采用mybatis或者mybatis-plus的插件來生成后端的業(yè)務(wù)增刪改查代碼,但是插件生成畢竟存在局限性,不利于靈活擴(kuò)展,對于需要生成自定義項目結(jié)構(gòu)更加不友好。
本文主要以碼云開源項目:cpms-cloud 微服務(wù)中的低代碼服務(wù)模塊為例,講解只通過velocity模板引擎如何搭建一個高擴(kuò)展性、高度自定義的低代碼生成器服務(wù)平臺。
velocity模板引擎語法的使用自行搜索!?。?/p>
1.項目初始化腳手架生成
有時候我們需要開發(fā)新的項目時,免不了需要搭建一個項目腳手架出來,定義目錄的層級結(jié)構(gòu),包分層等等自定義化的操作。那么下面的這個功能將會大大地滿足你的需求
如下圖我們可以定義腳手架的目錄層級結(jié)構(gòu)
腳手架目錄結(jié)構(gòu)
比如上面的結(jié)構(gòu)是cpms開源項目統(tǒng)一的包分層結(jié)構(gòu),有了這個功能我們可以把公司內(nèi)部所有的新項目結(jié)構(gòu)做一個很好的統(tǒng)一控制。
項目演示截圖
1.首先創(chuàng)建腳手架工程
創(chuàng)建工程
2.填寫相關(guān)的腳手架基礎(chǔ)信息
填寫基礎(chǔ)信息
上面的表單主要分為兩個部分:
工程基礎(chǔ)信息:工程的包名、端口號、JDK版本、groupId、artifactId等
數(shù)據(jù)源信息:支持?jǐn)?shù)據(jù)源配置
創(chuàng)建完成后,我們就可以把剛剛添加的工程腳手架下載下來了
2.表的增刪改查功能生成
在上面創(chuàng)建的腳手架工程下,我們可以生成該工程指定庫的表的增刪改查功能
如下圖所示,根據(jù)自己開發(fā)的項目目錄結(jié)構(gòu)自定義需要的模板以及模板層級結(jié)構(gòu)
增刪改查模板
項目演示截圖
1.選擇工程對應(yīng)的數(shù)據(jù)庫下的表
選擇庫表
注意上面的文件名稱和目錄名稱中有使用到${}占位符,主要目的是為了在生成過程中動態(tài)地替換文件名稱;
項目中還涉及到動態(tài)數(shù)據(jù)源切換的操作,主要目的就是當(dāng)我們的數(shù)據(jù)庫新增或修改表結(jié)構(gòu)的時候,我們可以實(shí)時的同步到我們代碼生成器服務(wù)中的表中保存下來,免去了手動導(dǎo)入表結(jié)構(gòu),這里有別于大部分開源項目實(shí)現(xiàn)代碼生成的方式;
最后
看到?jīng)],通過這種方式我們可以很靈活且自由地根據(jù)我們當(dāng)前所開發(fā)的項目目錄結(jié)構(gòu)來動態(tài)的自定義模板。
項目中還涉及到大量的技術(shù),這里就不一一講解了,具體的實(shí)現(xiàn)邏輯可以閱讀碼云開源碼:cpms-cloud
#開源項目推薦##springboot##低代碼開發(fā)有什么應(yīng)用前景##java源碼##微服務(wù)學(xué)習(xí)#