【摸魚神器】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

imgpng

2、內置介面列表

項目出廠時便自帶介面列表特性,可快速實現介面聯調與對接,降低溝通成本。

image-20220216172127541

可在全局配置文件中開啟或者關閉介面列表。

3、可視化任務調度

可視化任務調度模組需要單獨引入,對於任務調度的管理非常友好。

image-20220216172703350

引入依賴

<!--定時任務依賴(非必選)-->
<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>

如果在使用過程中有任何疑問,歡迎與我聯繫。