Files
my-springboot-project/README.md
2026-06-11 23:38:54 +08:00

4.3 KiB
Raw Blame History

Knowledge Management System

基于 Spring Boot 3.2.5 的知识管理系统提供用户管理、考试系统、文件管理、AI聊天等核心功能。

技术栈

  • 框架: Spring Boot 3.2.5
  • 语言: Java 17
  • 数据库: MySQL 8.0+
  • 缓存: Redis 6.0+
  • ORM: MyBatis Plus 3.5.5
  • 认证: JWT
  • API文档: SpringDoc OpenAPI 2.3.0
  • JSON处理: FastJSON 2.0.43

功能模块

模块 描述
用户管理 用户注册、登录、信息管理
角色权限 角色管理、权限分配
考试系统 试卷生成、考试管理、成绩批阅
题目管理 题目CRUD、统计分析
文件管理 文件上传、下载、权限控制
AI聊天 基于RAG的智能问答
搜索功能 全文搜索
反馈管理 用户反馈收集与处理
FAQ管理 常见问题管理
错题管理 错题收集与重做

快速开始

环境要求

  • JDK 17+
  • Maven 3.8+
  • MySQL 8.0+
  • Redis 6.0+

数据库配置

  1. 创建数据库:
CREATE DATABASE IF NOT EXISTS knowledge_management_system 
DEFAULT CHARACTER SET utf8mb4 
DEFAULT COLLATE utf8mb4_unicode_ci;
  1. 执行数据库初始化脚本:
mysql -u root -p knowledge_management_system < docs/sql/knowledge_management_system.sql

运行方式

开发环境

# 克隆项目
git clone <repository-url>
cd demo

# 编译运行
mvn spring-boot:run

生产环境

# 打包
mvn clean package

# 运行
java -jar target/demo_1-0.0.1-SNAPSHOT.jar

Docker 部署

# 构建镜像
docker build -t knowledge-management-system .

# 运行容器
docker run -d -p 8080:8080 \
  -e DB_USERNAME=root \
  -e DB_PASSWORD=yourpassword \
  -e REDIS_HOST=redis \
  knowledge-management-system

配置说明

主要配置项(可通过环境变量覆盖):

环境变量 默认值 说明
DB_USERNAME root 数据库用户名
DB_PASSWORD 123456 数据库密码
REDIS_HOST redis Redis 主机
REDIS_PORT 6379 Redis 端口
JWT_SECRET your-secret-key... JWT 密钥
SWAGGER_ENABLED true 是否启用 Swagger
CORS_ALLOWED_ORIGINS * 允许的跨域来源

API 文档

启动服务后访问:

项目结构

├── src/main/java/top/tqx/demo_1/
│   ├── controller/     # REST API 控制层
│   ├── service/        # 业务逻辑层
│   ├── mapper/         # 数据访问层
│   ├── entity/         # 数据库实体
│   ├── dto/            # 数据传输对象
│   ├── vo/             # 视图对象
│   ├── config/         # 配置类
│   ├── interceptor/    # 拦截器
│   ├── aspect/         # AOP切面
│   ├── exception/      # 异常处理
│   ├── util/           # 工具类
│   └── Demo1Application.java
├── src/main/resources/
│   ├── application.yml       # 主配置文件
│   ├── application-dev.yml   # 开发环境配置
│   └── application-prod.yml  # 生产环境配置
├── docs/              # 文档
│   ├── sql/           # 数据库脚本
│   └── api/           # API文档
├── uploads/           # 文件上传目录
├── logs/              # 日志目录
└── pom.xml            # Maven 配置

核心功能说明

1. 用户认证

  • JWT Token 认证
  • 密码加密存储 (BCrypt)
  • 权限拦截器

2. 考试系统

  • 智能试卷生成
  • 考试流程管理
  • AI 自动批阅
  • 成绩统计分析

3. 文件管理

  • 大文件上传支持
  • 文件版本控制
  • 访问权限控制

4. AI 集成

  • RAG 知识库检索
  • 流式问答响应
  • 引用来源追踪

安全特性

  • JWT 令牌认证
  • 接口限流
  • 权限校验
  • SQL 注入防护
  • CORS 跨域配置

日志管理

  • 控制台日志
  • 文件日志(按天分割)
  • 最大保留 30 天

开发规范

  • 代码风格Google Java Style
  • 异常处理:统一异常处理
  • 日志记录:使用 SLF4J

许可证

MIT License

联系方式

如有问题或建议,请提交 Issue 或联系开发团队。