一、序言

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

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>

如果在使用过程中有任何疑问,欢迎与我联系。


【摸鱼神器】UCode Cms管理系统 内置超好用的代码生成器 解决多表连接痛点的更多相关文章

  1. 【摸鱼神器】UI库秒变LowCode工具——列表篇(一)设计与实现

    内容摘要: 需求分析 定义 interface 定义 json 文件 定义列表控件的 props 基于 el-table 封装,实现依赖 json 渲染 实现内置功能:选择行(单选.多选),格式化.锁 ...

  2. Thief-Book 上班摸鱼神器

    Thief-Book 上班摸鱼神器 介绍 Thief-Book 是一款真正的摸鱼神器,可以更加隐秘性大胆的看小说. 隐蔽性 自定义透明背景,随意调整大小,完美融入各种软件界面 快捷性 三个快捷键,实现 ...

  3. vscode插件(摸鱼神器-小霸王游戏机

    vscode插件(摸鱼神器-小霸王游戏机 步骤 vscode扩展搜索小霸王,点击下载即可. 使用 默认有一个demo小游戏,即超级玛丽. 本地仓库 可以通过local菜单上的添加按钮添加本地nes r ...

  4. 【摸鱼神器】基于SSM风格的Java源代码生成器 单表生成 一对一、一对多、多对多连接查询生成

    一.序言 UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器.代码生成器模块属于可拆卸模块,即按需引入.代码生成器生成SSM(Spring.SpringBoot.Myb ...

  5. 【转】让Chrome化身成为摸鱼神器,利用Chorme运行布卡漫画以及其他安卓APK应用教程

    下周就是十一了,无论是学生党还是工作党,大家的大概都会有点心不在焉,为了让大家更好的心不在焉,更好的在十一前最后一周愉快的摸鱼,今天就写一个如何让Chrome(google浏览器)运行安卓APK应用的 ...

  6. 在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法

    今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示 郁闷了半天找度娘,可能关键字输的不准确,乱七八糟的方法一大堆,什么加依赖啊啥的,反正都不管用,最后找到一篇 ...

  7. 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)

    使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...

  8. 【摸鱼神器】一次搞定 vue3的 路由 + 菜单 + tabs

    做一个管理后台,首先要设置路由,然后配置菜单(有时候还需要导航),再来一个动态tabs,最后加上权限判断. 这个是不是有点繁琐?尤其是路由的设置和菜单的配置,是不是很雷同?那么能不能简单一点呢?如果可 ...

  9. 【摸鱼神器】UI库秒变LowCode工具——列表篇(二)维护json的小工具

    上一篇介绍了一下如何实现一个可以依赖 json 渲染的列表控件,既然需要 json 文件,那么要如何维护这个 json 文件就成了重点,如果没有好的维护方案的话,那么还不如直接用UI库. 所以需要我们 ...

随机推荐

  1. Kubernetes 中的 Pod 安全策略

    来源:伪架构师作者:崔秀龙很多人分不清 SecurityContext 和 PodSecurityPolicy 这两个关键字的差别,其实很简单:•SecurityContext 是 Pod 中的一个字 ...

  2. Nginx 反向代理解决跨域问题分析

    当你遇到跨域问题,不要立刻就选择复制去尝试.请详细看完这篇文章再处理 .我相信它能帮到你. 分析前准备: 前端网站地址:http://localhost:8080 服务端网址:http://local ...

  3. rocketmq实现延迟队列精确到秒级实现方案3-时间轮和秒级文件实现

    时间轮和秒级文件实现原理图 这种方案比较简单实现,通过秒级时间,建立对应的文件夹,只要相同的时间超时的消息,就在同一个目录,通过msgid保证文件不重复,等到了时间后,就扫描对应的文件夹的文件,发送到 ...

  4. 如何获取Repeater行号(索引)、记录总数?

    Repeater控件想必搞ASP.NET开发的人,基本上都到了用的炉火纯青的地步了.今个又吃了懒的亏,翻了好几个项目的代码都没找到如何获取Repeater记录总数的代码来,又Google了半天难得从老 ...

  5. Servlet-请求转发

    Servlet-请求转发 请求转发:服务器收到请求后,从一个资源跳转到另一个资源的操作叫请求转发 请求转发特点: 1,浏览器地址栏没有变化 2,他们是一次请求 3,他们共享Request域中的数据 4 ...

  6. ping: Network is unreachable

    问题 [root@web-1 yum.repos.d]# ping baidu.com ping: unknown host baidu.com [root@web-1 yum.repos.d]# p ...

  7. 001 研发同学必学哪些 Linux 命令?

    01 研发同学为啥要掌握 Linux 命令? 身为研发同学,Linux 是绕不过去的一个小山包,不是说要掌握的十分精通,在程序员界里做个极客,也不是说要抢了 Devops 同学的饭碗,但至少要做到摆脱 ...

  8. Kubernetes的故事之持久化存储(十)

    一.Storage 1.1.Volume 官网网址:https://kubernetes.io/docs/concepts/storage/volumes/ 通过官网说明大致总结下就是这个volume ...

  9. K8s配置配置存活、就绪和启动探测器

    kubelet 使用存活探测器来知道什么时候要重启容器. 例如,存活探测器可以捕捉到死锁(应用程序在运行,但是无法继续执行后面的步骤). 这样的情况下重启容器有助于让应用程序在有问题的情况下更可用. ...

  10. docker k8s安装

    docker安装 删除依赖包 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docke ...