项目简介
本项目是基于Spring Boot框架搭建的在线编程平台,整合Spring MVC、MyBatis、Redis、Elasticsearch等多种主流框架与技术,具备用户注册、登录、发布帖子、点赞、收藏、提交编程题目、代码评判等功能,为用户打造高效、安全、便捷的编程体验。
项目的主要特性和功能
主流框架与特性
- Spring Boot 2.7.x:快速开发框架,简化Spring应用搭建与开发。
- Spring MVC:构建Web应用的MVC框架。
- MyBatis & MyBatis Plus:数据访问框架,支持SQL映射与分页查询。
- Spring AOP:面向切面编程,用于日志记录、权限校验。
- Spring Scheduler:定时任务调度,可定时同步数据。
- Spring事务注解:简化事务管理,保证数据一致性。
数据存储
- MySQL:存储用户、帖子、题目等数据。
- Redis:缓存用户会话、点赞、收藏等数据。
- Elasticsearch:快速检索帖子、题目等内容。
- 腾讯云COS:存储用户上传的文件。
工具类
- Easy Excel:处理Excel文件读写。
- Hutool:提供丰富工具方法。
- Gson:处理JSON数据。
- Apache Commons Lang3:常用工具类库。
- Lombok:简化Java代码,自动生成getter、setter等方法。
业务特性
- Spring Session Redis:分布式登录管理,支持多节点会话共享。
- 全局请求响应拦截器:记录请求日志,监控系统运行。
- 全局异常处理器:统一处理系统异常。
- 自定义错误码:规范错误信息,便于排查问题。
- 封装通用响应类:统一API响应格式。
- Swagger & Knife4j:生成接口文档,方便前后端对接。
- 自定义权限注解:实现细粒度权限控制。
- 全局跨域处理:支持跨域请求,提升安全性。
- 长整数丢失精度解决:确保数据传输准确。
- 多环境配置:支持开发、测试、生产等多环境。
业务功能
- 用户管理:支持注册、登录、注销、信息更新、权限管理。
- 帖子管理:支持发布、删除、编辑、检索、点赞、收藏。
- 题目管理:支持创建、删除、编辑、检索、提交、评判。
- 代码沙箱:提供安全的代码执行环境,支持多种编程语言。
- 定时任务:支持定时同步数据、清理缓存。
安装使用步骤
1. 环境准备
- 安装Java 8或更高版本。
- 安装MySQL数据库,创建相应数据库和表。
- 安装Redis并启动服务。
- 安装Elasticsearch并启动服务。
- 配置腾讯云COS,获取访问密钥和存储桶信息。
2. 项目配置
- 复制项目代码到本地。
- 修改
application.yml
文件,配置数据库连接、Redis连接、Elasticsearch连接等信息。yaml spring: datasource: url: jdbc:mysql://localhost:3306/my_db username: root password: 123456 redis: host: localhost port: 6379 password: 123456 elasticsearch: uris: http://localhost:9200 username: root password: 123456
3. 启动项目
- 使用IDE(如IntelliJ IDEA)打开项目,运行
MainApplication
类。 - 或使用Maven命令启动:
bash mvn spring-boot:run
4. 访问项目
启动成功后,访问http://localhost:8101/api/doc.html
查看接口文档并进行在线调试。
5. 数据库初始化
- 执行
sql/create_table.sql
中的SQL语句创建数据库表。 - 执行
sql/post_es_mapping.json
文件内容,通过调用Elasticsearch接口或Kibana Dev Tools创建索引。
6. 功能测试
- 使用Swagger或Postman等工具调用接口进行功能测试。
- 运行单元测试类验证功能正确性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】