要特性
- 使用最新技术栈,社区资源丰富,基于
Java21(Core Module Support 17-21)、
Spring Boot3.2。
(Support Virtual Threads/fibre/loom)
- 基于注解的动态查询(Specification),可根据需要扩充查询注解。
-
支持接口级别的功能权限,动态权限控制
-
支持数据字典,可方便地对一些状态进行管理
- 高效率开发,代码生成器可一键生成前后端代码
- 对一些常用前端组件封装:表格数据请求、数据字典等
- 前后端统一异常拦截处理,统一输出异常,避免繁琐的判断
- 使用ShardingSphere实现多数据源和读写分离。该方式针对MySQL数据库。对系统侵入性小。(只需引入依赖,并在yaml中配置数据源信息即可)
unicorn-starter。
- 整合Redisson拓展Redis的功能,读写分离
- 整合消息队列RabbitMQ,实现消息通知、延迟消息,服务解耦。
- 各模块独立,基本可插拔:若只需查询注解等基础功能,只需引入Core模块即可,Beans, Security, Logging, 3rd Tools, Code Gen
模块可插拔, 除了传统To B业务,还可用于To C业务(see [OAuth2.0 part](unicorn-oauth2) )
系统功能
- 用户管理:提供用户的相关配置,新增用户后,默认密码为
- 角色管理:对权限与菜单进行分配,菜单权限、数据权限(Draft)、接口权限(_In Progress_)
- 菜单管理:已实现菜单动态路由,后端可配置化,
支持多级菜单
- 部门管理:可配置系统组织架构,树形表格展示(Draft)
- 岗位管理:配置各个部门的职位(Draft)
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错
- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
- 代码生成:高灵活度生成前后端代码,减少大量重复的工作任务(逆向有很多方案,这种基于template的有一定的灵活性)
- 邮件
工具:配合富文本,发送html格式的邮件
项目结构
项目采用按功能分模块的开发方式,结构如下
- `unicorn-core` 系统的Core模块,BaseClass及各种Util,(基于Multi-Release JAR Files,Support
Java17 - 21)
- `unicorn-beans` 基础Beans的Definition及Configuration,To C业务可只引入该dependency
- `unicorn-sys-api` Sys Module基础实体及API,方便服务拆分
- `unicorn-security` 系统权限模块,包含权限配置管理等。
- `unicorn-logging` 系统的日志模块,其他模块如果需要记录日志需要引入该模块,亦可自行实现
- `unicorn-tp-tools-kotlin` 第三方
工具模块,包含:邮件、S3,可视情况引入
- `unicorn-code-gen-kotlin` 系统的代码生成模块。这部分待优化,亦非必须模块
- `unicorn-starter` 启动类(
Maven),项目入口,包含模块及组件配置(DB读写分离 + Cache读写分离)
- `valentine-starter` 启动配置示例(
Gradle),尝试Kotlin/Kotlinx
- `unicorn-oauth2` OAuth2 Sample,AuthorizationServer, OAuth2Client + Gateway, ResourceServer
详细结构
- unicorn-core 公共模块项目备注1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2563.html