2025年若依开发文档(开发文档包括)

若依开发文档(开发文档包括)从零开始 01 视频课程导读 项目简介 功能列表 技术选型 从零开始 04 自顶向下 讲解项目的整体结构 上 从零开始 04 自顶向下 讲解项目的整体结构 下 后端采用模块化的架构 按照功能拆分成多个 Maven Module 提升开发与研发的效率 带来更好的可维护性 一共有四 类 Maven Module Maven Module 作用 Maven 依赖版本管理

大家好,我是讯享网,很高兴认识大家。



项目结构
讯享网

  • 从零开始 01:视频课程导读:项目简介、功能列表、技术选型
  • 从零开始 04:自顶向下,讲解项目的整体结构(上)
  • 从零开始 04:自顶向下,讲解项目的整体结构(下)

后端采用模块化的架构,按照功能拆分成多个 Maven Module,提升开发与研发的效率,带来更好的可维护性。

一共有类 Maven Module:

Maven Module 作用 Maven 依赖版本管理 Java 框架拓展 XXX 功能的 Module 模块 管理后台 + 用户 App 的服务端

下面,我们来逐个看看。

该模块是一个 Maven Bom,只有一个 文件,定义项目中所有 Maven 依赖的版本号,解决依赖冲突问题。

详细的解释,可见 《微服务中使用 Maven BOM 来管理你的版本依赖 》 文章。

从定位上来说,它和 Spring Boot 的 和 Spring Cloud 的 是一致的。

实际上, 本质上还是个单体项目,直接在根目录 管理依赖版本会更加方便,也符合绝大多数程序员的认知。但是要额外考虑一个场景,如果每个 模块都维护在一个独立的 Git 仓库,那么 就可以在多个 模块下复用。

该模块是 项目的框架封装,其下的每个 Maven Module 都是一个组件,分成两种类型:

① 技术组件:技术相关的组件封装,例如说 MyBatis、Redis 等等。

Maven Module 作用 定义基础 pojo 类、枚举、工具类等 Web 封装,提供全局异常、访问日志等 WebSocket 封装,提供 Token 认证、WebSocket 集群广播、Message 监听 认证授权,基于 Spring Security 实现 数据库操作,基于 MyBatis Plus 实现 缓存操作,基于 Spring Data Redis + Redisson 实现 消息队列,基于 Redis 实现,支持集群消费和广播消费 定时任务,基于 Quartz 实现,支持集群模式 服务保障,提供幂等、分布式锁、限流、熔断等功能 Excel 导入导出,基于 EasyExcel 实现 服务监控,提供链路追踪、日志服务、指标收集等功能 单元测试,基于 Junit + Mockito 实现 【已合并】 文件客户端,支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、SFTP、数据库等 【已合并】 验证码 Captcha,提供滑块验证码 【已合并】 工作流,基于 Flowable 实现

② 业务组件:业务相关的组件封装,例如说数据字典、操作日志等等。如果是业务组件,名字会包含 关键字。

Maven Module 作用 SaaS 多租户 数据权限 操作日志 支付客户端,对接微信支付、支付宝等支付平台 地区 & IP 库

每个组件,包含两部分:

  1. 包:组件的核心封装,拓展相关的功能。
  2. 包:组件的 Spring Boot 自动配置。

 示例

该模块是 XXX 功能的 Module 模块,目前内置了 8 个模块。

项目 说明 是否必须 系统功能 √ 基础设施 √ 会员中心 x 工作流程 x 支付系统 x 大屏报表 x 商城系统 x ERP 系统 x CRM 系统 x AI 大模型 x 微信公众号 x

每个模块包含两个 Maven Module,分别是:

Maven Module 作用 提供给其它模块的 API 定义 模块的功能的具体实现

例如说, 想要访问 的用户、部门等数据,需要引入 子模块。示例如下:

引用的示例

子模块的项目结构如下:

 项目结构

所在包 类 作用 示例 Api 接口 提供给其它模块的 API 接口 AdminUserApi DTO 类 Api 接口的入参 ReqDTO、出参 RespDTO LoginLogCreateReqDTO DeptRespDTO Enum 类 字段的枚举 LoginLogTypeEnum DictTypeConstants 类 数据字典的枚举 DictTypeConstants ErrorCodeConstants 类 错误码的枚举 ErrorCodeConstants

子模块的项目结构如下:

 项目结构

所在包 类 作用 示例 ApiImpl 类 提供给其它模块的 API 实现类 AdminUserApiImpl Controller 类 提供给管理后台的 RESTful API,默认以 作为前缀。
例如 登录接口 AuthController VO 类 Admin Controller 接口的入参 ReqVO、出参 RespVO AuthLoginReqVO AuthLoginRespVO Controller 类, 以 App 为前缀 提供给用户 App 的 RESTful API,默认以 作为前缀。
例如 登录接口 AppAuthController VO 类, 以 App 为前缀 App Controller 接口的入参 ReqVO、出参 RespVO AppAuthLoginReqVO AppAuthLoginRespVO 文件 IDEA Http Client 插件 ,模拟请求 RESTful 接口 AuthController.http Service 接口 业务逻辑的接口定义 AdminUserService ServiceImpl 类 业务逻辑的实现类 AdminUserServiceImpl - Data Access Layer,数据访问层 DO 类 Data Object,映射数据库表、或者 Redis 对象 AdminUserDO Mapper 接口 数据库的操作 AdminUserMapper RedisDAO 类 Redis 的操作 LoginUserRedisDAO Convert 接口 DTO / VO / DO 等对象之间的转换器 UserConvert Job 类 定时任务 DemoJob - Message Queue,消息队列 Message 类 发送和消费的消息 SmsSendMessage Producer 类 消息的生产者 SmsProducer Producer 类 消息的消费者 SmsSendConsumer - 模块自身的框架封装

总结来说,每个模块采用三层架构 + 非严格分层,如下图所示:

项目分层

该模块是后端 Server 的主项目,通过引入需要 业务模块,从而实现提供 RESTful API 给 、 等前端项目。

本质上来说,它就是个空壳(容器)!如下图所示:

 项目

前端一共有六个项目,分别是:

项目 说明 基于 Vue3 + element-plus 实现的管理后台 基于 Vue3 + vben(ant-design-vue) 实现的管理后台 基于 Vue2 + element-ui 实现的管理后台 基于 Vue3 + naive-ui 实现的大屏报表 基于 uni-app + uni-ui 实现的管理后台的小程序 基于 uni-app + uview 实现的用户 App

TODO 待补充

TODO 待补充

小讯
上一篇 2025-06-12 21:36
下一篇 2025-06-03 15:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/183677.html