跳到主要内容
版本:Next

epoch-framework 详细文档

1. 项目概述

epoch-framework 是 Epoch 平台的框架层,基于 Spring Boot 构建,提供了一系列开箱即用的功能模块和工具类,旨在为企业级应用开发提供基础能力支持。框架采用模块化设计,各模块之间低耦合,可根据需求灵活组合使用。

2. 项目结构

epoch-framework/
├── framework-common/ # 通用工具模块
├── framework-web/ # Web 应用模块
├── framework-ai/ # AI 功能模块(预留)
├── framework-strater/ # Spring Boot 自动配置模块集合
│ ├── framework-starter-redis/ # Redis 自动配置
│ ├── framework-starter-mybatis/ # MyBatis 自动配置
│ ├── framework-starter-monitor/ # 监控功能自动配置
│ ├── framework-starter-web/ # Web 功能自动配置
│ ├── framework-starter-notify/ # 通知功能自动配置
│ └── framework-starter-job/ # 定时任务自动配置
├── framework-build/ # 构建配置模块
└── pom.xml # 项目根 POM

3. 核心模块

3.1 通用工具模块 (framework-common)

提供各种常用工具类和功能组件,是框架的基础模块。

主要功能:

  • 异步任务执行
  • 常量定义
  • 核心工具类(断言、用户信息获取等)
  • 领域模型定义
  • 枚举类定义
  • 异常处理基类
  • 数据传输对象定义
  • 响应码系统
  • 各种工具类集合(JSON、分布式追踪、Servlet、Spring 等)

3.2 Web 应用模块 (framework-web)

提供 Web 应用开发所需的基础功能支持。

主要功能:

  • 全局异常处理
  • 消息队列支持(RocketMQ 实现)
  • 统一响应格式

详细文档

3.3 AI 功能模块 (framework-ai)

目前为预留模块,尚未实现具体的 AI 功能,仅包含示例代码。

详细文档

3.4 自动配置模块集合 (framework-starter)

提供各种功能的 Spring Boot 自动配置,方便在 Spring Boot 应用中快速集成。

主要功能:

  • Redis 客户端自动配置
  • MyBatis 框架自动配置
  • 应用监控功能自动配置
  • Web 功能自动配置
  • 通知功能自动配置(邮件、短信)
  • 定时任务自动配置(原生、Quartz、XXL-Job)

详细文档

3.5 构建配置模块 (framework-build)

统一依赖版本管理和构建插件配置,确保项目各模块的依赖一致性和构建稳定性。

主要功能:

  • 统一依赖管理
  • 构建插件配置
  • 依赖冲突解决
  • 构建环境统一

详细文档

4. 设计理念

4.1 模块化设计

各模块之间低耦合,可独立使用和扩展,避免了功能的紧耦合。

4.2 配置驱动

通过配置文件灵活控制功能开关和参数,支持不同环境的配置隔离。

4.3 自动装配

提供丰富的自动配置,简化集成过程,减少重复配置代码。

4.4 统一规范

统一的异常处理、响应格式、日志格式等,提高代码一致性和可维护性。

4.5 易扩展

预留扩展接口,支持自定义实现,满足不同业务场景的需求。

5. 技术栈

技术/框架版本用途
Spring Boot3.4.1基础框架
Spring Cloud2024.0.0微服务支持
Spring Cloud Alibaba2023.0.3.2微服务组件
MyBatis3.5.17持久层框架
MyBatis Plus3.5.15MyBatis 增强工具
Redis3.50.0缓存
RocketMQ2.3.1消息队列
Sa-Token1.44.0安全框架
Knife4j4.6.0API 文档
XXL-Job2.4.0分布式任务调度
SkyWalking9.0.0分布式追踪

6. 快速开始

6.1 环境要求

  • JDK 17+
  • Maven 3.6+

6.2 引入依赖

<!-- 在项目中引入框架依赖 -->
<dependency>
<groupId>com.epoch</groupId>
<artifactId>framework-common</artifactId>
<version>${epoch.version}</version>
</dependency>

<!-- 根据需要引入其他模块 -->
<dependency>
<groupId>com.epoch</groupId>
<artifactId>framework-starter-redis</artifactId>
<version>${epoch.version}</version>
</dependency>

6.3 配置使用

根据需要在 application.yml 中配置相关参数,然后直接使用框架提供的功能。

7. 扩展机制

epoch-framework 提供了多种扩展机制:

  1. 接口扩展:通过实现预留接口扩展功能
  2. 配置扩展:通过配置文件自定义功能参数
  3. 组件替换:通过 Spring Boot 的自动配置机制替换默认实现

8. 最佳实践

  1. 按需引入:只引入项目需要的模块,减少不必要的依赖
  2. 合理配置:根据实际需求配置各模块参数
  3. 遵循规范:使用框架提供的统一规范和工具类
  4. 适当扩展:在需要时通过扩展机制自定义功能

9. 版本更新

9.1 主要版本

  • 3.x:基于 Spring Boot 3.x,支持最新技术栈
  • 2.x:基于 Spring Boot 2.x,稳定版本

9.2 升级指南

请参考项目的升级文档进行版本升级,注意查看版本间的兼容性变化。