【摸鱼神器】UCode Cms管理系统 内置超好用的代码生成器 解决多表连接痛点
一、序言
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管理系统 内置超好用的代码生成器 解决多表连接痛点的更多相关文章
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(一)设计与实现
内容摘要: 需求分析 定义 interface 定义 json 文件 定义列表控件的 props 基于 el-table 封装,实现依赖 json 渲染 实现内置功能:选择行(单选.多选),格式化.锁 ...
- Thief-Book 上班摸鱼神器
Thief-Book 上班摸鱼神器 介绍 Thief-Book 是一款真正的摸鱼神器,可以更加隐秘性大胆的看小说. 隐蔽性 自定义透明背景,随意调整大小,完美融入各种软件界面 快捷性 三个快捷键,实现 ...
- vscode插件(摸鱼神器-小霸王游戏机
vscode插件(摸鱼神器-小霸王游戏机 步骤 vscode扩展搜索小霸王,点击下载即可. 使用 默认有一个demo小游戏,即超级玛丽. 本地仓库 可以通过local菜单上的添加按钮添加本地nes r ...
- 【摸鱼神器】基于SSM风格的Java源代码生成器 单表生成 一对一、一对多、多对多连接查询生成
一.序言 UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器.代码生成器模块属于可拆卸模块,即按需引入.代码生成器生成SSM(Spring.SpringBoot.Myb ...
- 【转】让Chrome化身成为摸鱼神器,利用Chorme运行布卡漫画以及其他安卓APK应用教程
下周就是十一了,无论是学生党还是工作党,大家的大概都会有点心不在焉,为了让大家更好的心不在焉,更好的在十一前最后一周愉快的摸鱼,今天就写一个如何让Chrome(google浏览器)运行安卓APK应用的 ...
- 在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法
今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示 郁闷了半天找度娘,可能关键字输的不准确,乱七八糟的方法一大堆,什么加依赖啊啥的,反正都不管用,最后找到一篇 ...
- 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)
使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...
- 【摸鱼神器】一次搞定 vue3的 路由 + 菜单 + tabs
做一个管理后台,首先要设置路由,然后配置菜单(有时候还需要导航),再来一个动态tabs,最后加上权限判断. 这个是不是有点繁琐?尤其是路由的设置和菜单的配置,是不是很雷同?那么能不能简单一点呢?如果可 ...
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(二)维护json的小工具
上一篇介绍了一下如何实现一个可以依赖 json 渲染的列表控件,既然需要 json 文件,那么要如何维护这个 json 文件就成了重点,如果没有好的维护方案的话,那么还不如直接用UI库. 所以需要我们 ...
随机推荐
- 钓鱼攻击之远程加载恶意Word模版文件上线CS
0x00 前言 利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码.这里 ...
- JAVA实现对阿里云DNS的解析管理
1.阿里云DNS的SDK依赖 <dependency> <groupId>com.aliyun</groupId> <artifactId>tea-op ...
- java抽象类概述特点
1 package face_09; 2 /* 3 * 抽象类: 4 * 抽象:笼统,模糊,看不懂!不具体. 5 * 6 * *特点: 7 * 1,方法只有声明没有实现时,该方法就是抽象方法,需要被a ...
- 项目管理软件jira安装
JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 官方文档https://confluence.a ...
- JavaWeb后端工程师技能图
- Elasticsearch使用系列-ES增删查改基本操作+ik分词
Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 一.安装可视化工具Kibana ES是一个NoSql数据库应用.和其他数据库 ...
- 【Azure Developer】Azure Logic App 示例: 解析 Request Body 的 JSON 的表达式? triggerBody()?
问题描述 通过Azure Logic App(逻辑应用)实现无代码的处理JSON数据.但是如何获取Request Body中的一个属性值呢? 例如:如何来获取以下JSON结构中的 ObjectName ...
- 如何使用c#编写单片机程序
因为个人喜爱想研究单片机,但是不太会c,然后再找资料研究有没有其他的方法发现国外的c# nanoframework 框架可以编写单片机程序,本文我将会用自己踩过的坑来总结一些c#编写单片机的一些经 ...
- Nginx配置文件nginx.conf有哪些属性模块?
worker_processes 1: # worker进程的数量 events { # 事件区块开始 worker_connections 1024: # 每个worker进程支持的最大连接数 } ...
- linux可用内存判断
free是完全没有占用的空闲内存,Available 减 free是操作系统为了优化运行速度拿来调用的内存, 程序需要的话操作系统会进行释放.所以一般看Available即可. free+buffer ...