# spring-blog **Repository Path**: LiamLMK/spring-blog ## Basic Information - **Project Name**: spring-blog - **Description**: 基于spring框架实现的博客系统 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-09-08 - **Last Updated**: 2025-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, MyBatis, MySQL, JWT ## README # Spring-Blog 博客系统 ## 项目介绍 Spring-Blog 是一个基于 Spring Boot 框架开发的博客系统,提供了博客文章的创建、查看、编辑和删除功能,以及用户注册和登录功能。该系统采用了现代化的技术栈,包括 Spring Boot、MyBatis 和 MySQL,实现了一个功能完整的博客平台。 ### 主要功能 - **用户管理**:注册、登录、身份验证 - **博客管理**:发布、查看、编辑、删除博客文章 - **JWT 认证**:使用 JSON Web Token 实现安全认证 - **数据持久化**:使用 MySQL 数据库存储博客和用户信息 ## 系统要求与环境配置 ### 开发环境要求 - JDK 17 或更高版本 - Maven 3.6.3 或更高版本 - MySQL 8.0 或更高版本 - IDE:推荐使用 IntelliJ IDEA 或 Eclipse ### 数据库配置 1. 创建名为 `java_blog_spring` 的 MySQL 数据库 2. 数据库字符集设置为 UTF-8 ## 部署与运行 ### 本地开发环境部署 1. 克隆代码仓库: ```bash git clone <仓库URL> cd spring-blog ``` 2. 配置数据库连接: 修改 `src/main/resources/application-dev.yml` 文件中的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://127.0.0.1:3306/java_blog_spring?characterEncoding=utf8&useSSL=false username: 你的数据库用户名 password: 你的数据库密码 driver-class-name: com.mysql.cj.jdbc.Driver ``` 3. 使用 Maven 构建项目: ```bash mvn clean package -P dev ``` 4. 运行应用: ```bash java -jar target/spring-blog-0.0.1-SNAPSHOT.jar ``` 或者使用 Maven 运行: ```bash mvn spring-boot:run -P dev ``` ### 生产环境部署 1. 修改 `src/main/resources/application-prod.yml` 文件中的配置信息 2. 构建生产环境包: ```bash mvn clean package -P prod ``` 3. 运行生产环境应用: ```bash java -jar target/spring-blog-0.0.1-SNAPSHOT.jar ``` ## 项目架构与目录结构 ### 技术栈 - **核心框架**:Spring Boot 3.3.2 - **ORM 框架**:MyBatis 3.0.3 - **数据库**:MySQL - **认证**:JWT (JSON Web Token) - **构建工具**:Maven ### 目录结构 ``` spring-blog/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── liam/ │ │ │ └── springblog/ │ │ │ ├── config/ # 配置类 │ │ │ ├── controller/ # 控制器层,处理HTTP请求 │ │ │ ├── enmus/ # 枚举类 │ │ │ ├── mapper/ # MyBatis映射接口 │ │ │ ├── model/ # 数据模型类 │ │ │ ├── service/ # 业务逻辑层 │ │ │ ├── utils/ # 工具类 │ │ │ └── SpringBlogApplication.java # 应用入口 │ │ │ │ │ └── resources/ │ │ ├── mapper/ # MyBatis XML映射文件 │ │ ├── static/ # 静态资源 │ │ ├── templates/ # 模板文件 │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ └── application-prod.yml # 生产环境配置 │ │ │ └── test/ # 测试代码 │ ├── pom.xml # Maven 项目配置文件 ├── mvnw # Maven Wrapper 脚本(Unix/Linux) ├── mvnw.cmd # Maven Wrapper 脚本(Windows) └── README.md # 项目说明文档 ``` ### 核心模块说明 - **controller**:控制器层,提供RESTful API接口 - `UserController.java`:用户相关接口(注册、登录) - `BlogController.java`:博客相关接口(发布、查询、修改、删除) - **service**:业务逻辑层,实现核心业务功能 - **model**:数据模型层 - `UserInfo.java`:用户信息模型 - `BlogInfo.java`:博客信息模型 - `Result.java`:统一响应结果封装 - **mapper**:MyBatis数据访问层,与数据库交互 ## API 接口说明 ### 用户接口 - **注册**:`POST /api/user/register` - **登录**:`POST /api/user/login` ### 博客接口 - **创建博客**:`POST /api/blog/add` - **获取博客列表**:`GET /api/blog/list` - **获取博客详情**:`GET /api/blog/{id}` - **更新博客**:`PUT /api/blog/{id}` - **删除博客**:`DELETE /api/blog/{id}` ## 版本更新历史 ### v0.0.1 (当前版本) - 初始版本发布 - 实现用户注册、登录功能 - 实现博客的基本CRUD操作 - 添加JWT认证机制 ## 贡献与反馈 欢迎贡献代码或提出建议: 1. Fork 本仓库 2. 创建新的特性分支 (`git checkout -b feature/your-feature`) 3. 提交你的更改 (`git commit -am 'Add a new feature'`) 4. 推送到分支 (`git push origin feature/your-feature`) 5. 创建一个 Pull Request ## 许可证 本项目使用 [LICENSE 文件](LICENSE) 中规定的许可证。 ## 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)