diff --git a/README.md b/README.md index 5cd2474df941413facb05d9c1001fdd0cd4949f1..00e684da0a69d2759870dc77b6f9cf9ced54b54f 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,86 @@ -## 基于SpringBoot3.2.2 的多模块项目 +# SpringBoot3.2.2 多模块项目 -### 项目介绍 -本项目是一个基于SpringBoot3.2.2的多模块项目,包含了以下模块: -- `basic`:基础模块,包含一些公共的工具类和配置。 -- `controller-api`:API模块,提供RESTful API接口。 -- `dao`:数据访问层,使用MyBatis-Flex作为ORM框架,提供对数据库的操作。 -- `spring-boot`:Spring Boot模块,包含Spring Boot的配置和启动类。 +## 项目介绍 +这是一个基于Spring Boot 3.2.2构建的多模块项目,旨在提供一个结构清晰、易于扩展的企业级应用开发框架。该项目集成了多种常用功能和工具,适用于快速开发各种业务场景。 -### 技术栈 +## 技术栈 - Spring Boot 3.2.2 -- MyBatis-Flex -- Hutool -- SaToken -- Lombok +- MyBatis Plus +- Sa-Token(权限认证) +- Swagger UI(API文档) +- Undertow(Web服务器) +- 多种数据库连接池和缓存方案 +- 阿里云OSS、腾讯云相关服务集成 +- 微信支付、短信服务等第三方服务集成 -### 项目结构 +## 项目结构 ``` -├── ldn-basic -│ ├── ldn-basic-dispose // 针对项目整体的数据包装、结构处理 -│ ├── ldn-basic-enum // 枚举类 -│ └── ldn-basic-utils // 工具类 -├── ldn-controller-api // API模块 -├── ldn-dao -│ ├── ldn-dao-entities // 实体类 -│ ├── ldn-dao-mapper // MyBatis-Flex的Mapper接口 -│ ├── ldn-dao-impl // MyBatis-Flex的Service实现类 -│ └── ldn-dao-service // MyBatis-Flex的Service接口 -├── ldn-spring-boot3 -│ ├── ldn-spring-boot3-starter // Spring Boot Starter模块 -│ └── ldn-spring-boot3-application // Spring Boot应用模块 -└── pom.xml +├── ldn-basic # 基础模块:包含通用异常、枚举、工具类等 +│ ├── ldn-basic-dispose # 异常处理、注解等基础功能 +│ ├── ldn-basic-enum # 系统常用枚举定义 +│ └── ldn-basic-utils # 通用工具类 +├── ldn-controller-api # 控制器模块:API接口定义 +├── ldn-dao # 数据访问层模块 +│ ├── ldn-dao-entities # 实体类定义 +│ ├── ldn-dao-impl # DAO实现 +│ ├── ldn-dao-mapper # Mapper接口 +│ └── ldn-dao-service # DAO服务接口 +├── ldn-spring-boot3 # Spring Boot相关模块 +│ ├── ldn-spring-boot3-application # 主应用程序模块 +│ └── ldn-spring-boot3-starter # Spring Boot启动器模块 +└── pom.xml # Maven项目配置文件 ``` + +## 主要功能 +- **统一响应处理**:通过`MyResponseAdvice`实现统一的API响应格式 +- **请求日志记录**:使用`RequestLogAspect`记录所有API请求日志 +- **请求限流**:通过`RequestLimitAspect`实现接口调用限流 +- **异常处理**:全局异常处理,支持多种常见异常的统一处理 +- **文件上传**:支持本地、阿里云OSS、七牛云等多种上传方式 +- **验证码生成**:提供图形验证码、数学验证码等多种验证码生成方式 +- **短信服务**:集成阿里云短信服务,支持多种短信发送场景 +- **微信相关**:包含微信支付、微信小程序登录、微信模板消息等功能 +- **定时任务**:通过Spring Schedule实现定时任务管理 + +## 第三方服务集成 +- 阿里云OSS:文件存储服务 +- 阿里云短信服务:短信发送功能 +- 腾讯云相关服务:微信支付、微信小程序支持 +- 七牛云OSS:文件存储服务 + +## 开发规范 +- 使用Lombok简化Java代码编写 +- 使用Swagger进行API文档管理 +- 使用MyBatis Plus进行数据库操作 +- 使用Sa-Token进行权限认证管理 +- 使用统一的响应格式(ResultDataVo) + +## 配置说明 +主要配置文件位于`ldn-spring-boot3/ldn-spring-boot3-application/src/main/resources`目录下: +- application.yml:主配置文件 +- application-ali.yml:阿里云相关配置 +- application-tencent.yml:腾讯云相关配置 +- application-datasource.yml:数据源配置 +- application-satoken.yml:Sa-Token权限配置 + +## 启动方式 +1. 确保已安装JDK 17+和Maven +2. 执行`mvn clean install`进行项目构建 +3. 运行`com.ldn.ApiApplication`类的main方法启动项目 + +## 部署脚本 +提供`ldn-api.sh`脚本用于Linux环境下的服务管理: +```bash +./ldn-api.sh start # 启动服务 +./ldn-api.sh stop # 停止服务 +./ldn-api.sh restart # 重启服务 +./ldn-api.sh status # 查看服务状态 +./ldn-api.sh log # 查看日志 +./ldn-api.sh less # 使用less查看日志 +``` + +## 文档贡献 +欢迎提交PR来改进和完善项目。对于重大更新,请先创建Issue讨论变更内容。 + +## 许可证 +本项目采用Apache-2.0协议,详情请参见LICENSE文件。 \ No newline at end of file