【摸魚神器】UCode Cms管理系統 內建超好用的程式碼生成器 解決多表連線痛點

Java知識圖譜發表於2022-02-22

一、序言

UCode Cms管理系統是面向企業級應用軟體開發的腳手架。當前版本1.3.4。快速體驗:

git clone https://gitee.com/decsa/demo-cms.git

(一)專案特點

1、原始碼開源

原始碼開源並且使用MIT開源許可協議,個人或者企業使用者免費放心使用,專案原始碼地址:

git clone https://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 https://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>

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


相關文章