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