【摸魚神器】UCode Cms管理系統 內置超好用的程式碼生成器 解決多表連接痛點
一、序言
UCode Cms
管理系統是面向企業級應用軟體開發的腳手架。當前版本1.3.4
。快速體驗:
git clone //gitee.com/decsa/demo-cms.git
(一)項目特點
1、源碼開源
源碼開源並且使用MIT開源許可協議,個人或者企業用戶免費放心使用,項目源碼地址:
git clone //gitee.com/decsa/ucode-cms-vue.git
2、快速上手
新建空項目,引入相關依賴,初始化資料庫,啟動項目,一個項目腳手架便搭建完成,更加便捷的操作是克隆[demo項目],修改資料庫連接並啟動項目。
<!--ucode-cms核心依賴-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
(二)項目的內在邏輯
市面上各種管理系統做的非常好,作者無意重複造輪子,簡要本項目的初衷。
大部分管理系統屬於大雜燴性質的,說的難聽點是堆砌功能,其實很多時候僅僅是想用其做個項目初始環境腳手架而已,並不想用過多的功能,齊全的功能此時卻是累贅。
第一個特點:積木式結構
。積木式結構允許使用者在核心依賴的基礎上自由選擇功能模組,體現的思想是功能復用,減少無意義的功能開發。
第二個特點:暴露配置
。隱藏源碼,暴露配置意味著使用者既能通過配置文件修改系統行為,又能較少的與不相干源碼打交道。
第三個特點:標準化程式碼
。鼓勵使用者按照項目的框架提煉公共程式碼,按照類似插件性質予以封裝,為本項目添磚加瓦。
1、標準化
標準化是UCodeCms項目的核心內涵,即將通用性的功能濃縮成不可修改的互相獨立的Maven依賴,用戶使用時可按需配置
。
2、高內聚低耦合
廣泛使用高內聚低耦合設計原則,將用戶很少修改的源碼進行封裝,同時對外提供可供修改配置的開關,降低使用成本。
3、積木式項目結構
核心依賴僅需要引入ucode-cms-spring-boot-starter
便可初始化項目,starter內置其餘核心依賴。
在核心依賴的基礎上定義了可選依賴:程式碼生成器模組、系統UI模組、系統監控模組、任務調度模組、Excel模組。可選依賴類似於積木,按需選配。
二、項目細節
(一)項目結構
UCode Cms源碼項目結構如下
├── cms-ui // 系統UI部分源碼
├── sql // 系統資料庫SQL腳本
├── ucode-cms-admin // 測試demo項目(非必選)
├── ucode-cms-code // 程式碼生成器源碼
├── ucode-cms-code-spring-boot-starter // 程式碼生成器starter
├── ucode-cms-common // 通用程式碼部分(核心依賴、可跨項目使用)
├── ucode-cms-excel // Excel處理模組源碼
├── ucode-cms-framework // 核心依賴
├── ucode-cms-job // 任務調度源碼
├── ucode-cms-monitor // 系統監控源碼
├── ucode-cms-spring-boot-starter // 核心starter
├── ucode-cms-system // 系統部分源碼
└── ucode-cms-ui // 系統UI部分依賴
(二)項目依賴
UCode Cms
使用的是熱門主流框架依賴。
依賴 | 版本 |
---|---|
JDK | 1.8 |
Spring Framework | 5 |
Spring Boot | 2.6.3 |
Mybatis Plus | 3.5.0 |
hutool | 5.7.19 |
Guava | 31.0.1-jre |
(三)特色功能
CmsConfig
配置類控制系統運行的行為,所有內置的配置可以在全局配置文件中修改。
1、程式碼生成器
通過可視化介面勾選庫表結構,即可達到本地化快速生成程式碼的效果。對於表間含有外鍵關係的庫表結構同樣支援,一對一、一對多、多對多可無縫銜接。 快速體驗:
git clone //gitee.com/decsa/demo-code.git
2、內置介面列表
項目出廠時便自帶介面列表特性,可快速實現介面聯調與對接,降低溝通成本。
可在全局配置文件中開啟或者關閉介面列表。
3、可視化任務調度
可視化任務調度模組需要單獨引入,對於任務調度的管理非常友好。
引入依賴
<!--定時任務依賴(非必選)-->
<dependency>
<groupId>xin.altitude.cms.job</groupId>
<artifactId>ucode-cms-job</artifactId>
<version>1.3.4</version>
</dependency>
全局配置文件啟用
ucode.job.enabled: true
三、如何使用
(一)核心依賴
Maven對外提供的依賴清單如下:
<!--ucode-cms核心依賴-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
(二)可選依賴
可選依賴有兩重含義:一是 ucode-cms-spring-boot-starter
中未包含的依賴可按需添加,二是 ucode-cms-spring-boot-starter
中包含尚使用不到的依賴可按需移除。
1、通用程式碼
通用程式碼依賴可跨項目使用,不僅限於此項目。其中內置的工具類EntityUtils
在MybatisPlus多表連接查詢中發揮重要作用。
<dependency>
<groupId>xin.altitude.cms.common</groupId>
<artifactId>ucode-cms-common</artifactId>
<version>1.3.4</version>
</dependency>
2、可視化介面
可根據需要是否引入可視化介面。
<dependency>
<groupId>xin.altitude.cms.ui</groupId>
<artifactId>ucode-cms-ui</artifactId>
<version>1.3.4</version>
</dependency>
3、定時任務
若有定時任務可視化管理的需求,可引入此模組。
<dependency>
<groupId>xin.altitude.cms.job</groupId>
<artifactId>ucode-cms-job</artifactId>
<version>1.3.4</version>
</dependency>
4、系統監控
若有系統監控的需求,可引入此模組。
<dependency>
<groupId>xin.altitude.cms.monitor</groupId>
<artifactId>ucode-cms-monitor</artifactId>
<version>1.3.4</version>
</dependency>
5、表格處理
<dependency>
<groupId>xin.altitude.cms.excel</groupId>
<artifactId>ucode-cms-excel</artifactId>
<version>1.3.4</version>
</dependency>
如果在使用過程中有任何疑問,歡迎與我聯繫。