README.md 2.4 KB

SpringCloud Demo 项目说明

这是一个基于 SpringCloud 的微服务项目,包含了服务注册发现、网关、鉴权、数据访问等模块,适用于学习和演示微服务架构的常见功能。

项目结构

  • app / app02:基础服务模块,提供启动类和 RestTemplate 配置。
  • auth:鉴权模块,包含用户、角色、登录等基础权限管理功能。
  • data:数据访问模块,封装了 MyBatis Plus 的通用操作、分页、工具类等。
  • entity:实体类模块,定义了数据库实体、枚举、通用返回类等。
  • gateway:网关模块,使用 SpringCloud Gateway 实现路由和权限控制。
  • visit.db:SQLite 数据库文件。

技术栈

  • Spring Boot / Spring Cloud
  • Spring Cloud Gateway
  • MyBatis Plus
  • Sa-Token(鉴权框架)
  • SQLite(轻量数据库)

快速启动

  1. 确保已安装 JDK 1.8+、Maven。
  2. 安装 Sa-Token 依赖(如未自动引入)。
  3. 使用 Maven 构建项目:

    mvn clean install
    
  4. 启动服务:

    • 启动 Nacos 或其他注册中心。
    • 启动 gateway/GatewayApplication.java
    • 启动 app/App01Start.javaapp02/App02Start.java
    • 启动 auth 模块相关服务。

使用说明

登录接口

POST /auth/login
Content-Type: application/json

{
  "username": "your-username",
  "password": "your-password"
}

获取用户信息

GET /user/get/1
Authorization: Bearer your-token

分页查询用户列表

POST /user/list
Authorization: Bearer your-token
Content-Type: application/json

{
  "current": 1,
  "size": 10
}

鉴权说明

使用 Sa-Token 实现权限控制,部分接口需要特定角色访问,例如:

  • @SaCheckPermission(orRole = {"super-admin"}):仅限超级管理员访问。

数据库初始化

项目使用 SQLite 数据库,位于 visit.db 文件中。初始化脚本位于 data/src/main/resources/sqlite.sql

扩展建议

  • 添加新的微服务模块。
  • 扩展鉴权模块,支持更多角色和权限。
  • 使用 MySQL 或 PostgreSQL 替代 SQLite。
  • 增加服务熔断、限流、链路追踪等微服务功能。

贡献代码

欢迎提交 PR,建议遵循如下流程:

  1. Fork 项目。
  2. 创建新分支。
  3. 提交代码。
  4. 提交 PR 并说明修改内容。

许可证

本项目采用 MIT 许可证,详见 LICENSE 文件。