# springboot-course **Repository Path**: giaming023/springboot-course ## Basic Information - **Project Name**: springboot-course - **Description**: Java服务器框架2(SpringBoot)课程代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-03 - **Last Updated**: 2026-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot 企业级开发实战课程 这是一个完整的 Spring Boot 企业级开发学习项目。本项目采用 **"理论+实践"** 的模式,通过构建一个功能完善的 **MyMemo 备忘录系统**,帮助学习者从零掌握 Spring Boot 开发的核心技能。 同时,项目包含 **8 个渐进式专项训练模块 (`project01` - `project08`)**,覆盖从基础入门到高级特性的全部知识点。 --- ## 📋 项目概览 ### 🏆 核心实战项目:MyMemo 备忘录系统 本项目是一个前后端分离的轻量级任务管理应用,涵盖了企业级开发的典型场景。 **主要功能:** * 👤 **用户管理**:用户注册、登录(JWT认证)、个人信息获取。 * 📝 **备忘录管理**:创建、更新、删除、切换完成状态、按状态筛选。 * 🛡️ **安全控制**:基于 JWT 的身份验证,支持不同角色的访问控制(进阶内容)。 * 📊 **系统监控**:集成 Spring Actuator,提供健康检查端点。 * 📝 **日志记录**:使用 AOP 统一记录接口访问日志。 **默认测试账户:** * 管理员:`admin` / `admin123` * 测试用户:`test` / `test123` ### 🛠 技术栈 | 分类 | 技术选型 | | :--- | :--- | | **核心框架** | Spring Boot 3.2.0 | | **数据库** | MySQL 8.0 | | **ORM 框架** | Spring Data JPA / MyBatis-Plus | | **安全框架** | Spring Security + JWT | | **前端** | HTML5 + JavaScript (Fetch API) + Bootstrap 5 | | **工具库** | Lombok, Knife4j (API文档) | --- ## 📚 学习路径与模块详解 本项目分为一个核心应用模块和八个独立的学习任务模块。 ### 1. 核心模块:`memo/` > **MyMemo 备忘录系统** 的完整源码。 > > 采用标准的分层架构设计: > * **Controller**: 处理 HTTP 请求,返回 JSON 数据。 > * **Service**: 封装业务逻辑(如 MemoService, UserService)。 > * **Repository**: 数据访问层(JpaRepository)。 > * **Entity**: 数据库实体映射(User, Memo)。 > * **Security**: JWT 拦截器与鉴权逻辑。 ### 2. 渐进式训练模块 | 模块 | 主题 | 核心知识点 | | :--- | :--- | :--- | | **project01** | Spring Boot 基础 | SpringApplication 启动、依赖管理 (Maven)、Web 基础注解 | | **project02** | Web 高级开发 | 参数校验 (@Valid)、异常处理 (@ControllerAdvice)、拦截器 (Interceptor)、Swagger/Knife4j 文档集成 | | **project03** | 数据持久化 | **重点模块**:Spring Data JPA、MyBatis-Plus、联表查询 (MPJ)、MongoDB 操作 | | **project04** | 缓存与中间件 | **重点模块**:Spring Cache、Redis (Template) 实战 | | **project05** | 安全认证 | **重点模块**:Spring Security 基础、用户认证 (Authentication)、方法级权限控制 (@PreAuthorize) | | **project06** | 消息队列 | **重点模块**:RabbitMQ 实战 (Simple, Pub/Sub, Routing, Topic, RPC 模式) | | **project07** | 任务管理 | 异步任务 (@Async)、定时任务 (@Scheduled)、Quartz 任务调度框架 | | **project08** | 工程实践 | Flyway 数据库版本管理、Lombok 深度使用、工程结构优化 | --- ## 🚀 快速开始 ### 环境要求 * JDK 17+ * MySQL 8.0+ * Maven 3.6+ * IDE: IntelliJ IDEA (推荐) ### 启动核心项目 (MyMemo) 1. **初始化数据库**: 登录 MySQL 并执行 SQL 脚本: ```bash mysql -u root -p < memo/database.sql ``` 2. **修改配置**: 编辑 `memo/src/main/resources/application.yml`,配置您的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mymemo username: your_username password: your_password ``` 3. **启动应用**: ```bash cd memo mvn spring-boot:run ``` 4. **访问应用**: * 前端页面:`http://localhost:8080/index.html` * 健康检查:`http://localhost:8080/api/health` --- ## 📂 项目结构 ```text springboot-course/ ├── memo/ # 核心项目:MyMemo 备忘录系统 │ ├── src/main/java/com/memo/ │ │ ├── config/ # 配置类 (WebConfig, LogAspect) │ │ ├── controller/ # 控制器 (UserController, MemoController) │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── repository/ # 数据仓库 │ │ ├── security/ # 安全相关 (JWT工具, 拦截器) │ │ ├── service/ # 服务层 │ │ └── util/ # 工具类 │ ├── src/main/resources/ │ │ ├── static/ # 前端静态资源 (HTML, CSS, JS) │ │ ├── application.yml # 核心配置 │ │ └── db.sql # 数据库初始化脚本 │ └── startup.sh # Linux 启动脚本 │ ├── project01/ ~ project08/ # 专项训练模块代码 │ └── README.md ``` ## 📝 文档与部署 项目提供了详细的开发文档: * **[快速入门](memo/QUICKSTART.md)**: 5 分钟快速启动项目。 * **[部署指南](memo/DEPLOY.md)**: 生产环境打包与部署 (Systemd 脚本)。 * **[项目总结](memo/PROJECT_SUMMARY.md)**: 核心知识点总结与 FAQ。 ## 🤝 贡献指南 本项目为教学演示项目,欢迎学习者根据课程进度提交 PR 优化代码或补充注释。 ## 📄 许可证 本项目仅供学习使用。