项目简介
本项目是基于Spring Boot框架的帖子管理系统,为用户提供高效、易用的帖子内容管理平台。系统集成多种主流框架和工具,支持用户登录、帖子发布、点赞、收藏等功能,还具备丰富的接口文档和定时任务功能。
项目的主要特性和功能
主流框架与特性
- Spring Boot 2.7.x:实现快速开发和自动配置。
- Spring MVC:构建Web应用。
- MyBatis + MyBatis Plus:数据访问,支持分页查询。
- Spring AOP:用于权限校验和日志记录。
- Spring Scheduler:定时任务调度。
- Spring 事务注解:简化事务管理。
数据存储
- MySQL:存储帖子、用户等数据。
- Redis:用于分布式登录和缓存。
- Elasticsearch:实现帖子内容灵活检索。
- 腾讯云 COS:进行文件上传和存储。
工具类
- Easy Excel:处理Excel表格。
- Hutool:提供丰富工具方法。
- Gson:JSON解析。
- Apache Commons Lang3:常用工具类。
- Lombok:简化Java代码编写。
业务特性
- Spring Session Redis:分布式登录管理。
- 全局请求响应拦截器:记录请求日志。
- 全局异常处理器:统一处理异常。
- 自定义错误码:提供详细错误信息。
- 封装通用响应类:统一API响应格式。
- Swagger + Knife4j:生成接口文档。
- 自定义权限注解 + 全局校验:权限管理和数据校验。
- 全局跨域处理:支持跨域请求。
- 长整数丢失精度解决:避免JSON序列化精度问题。
- 多环境配置:支持不同环境配置管理。
业务功能
- 用户管理:登录、注册、注销、更新、检索、权限管理。
- 帖子管理:创建、删除、编辑、更新、检索、灵活检索。
- 帖子互动:点赞、取消点赞、收藏、取消收藏。
- 定时任务:全量同步和增量同步帖子到Elasticsearch。
- 微信开放平台登录:支持微信登录。
- 微信公众号功能:订阅、收发消息、设置菜单。
- 文件上传:支持分业务的文件上传。
安装使用步骤
MySQL 数据库
- 修改
application.yml
中的数据库配置:yml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/my_db username: root password: 123456
- 执行
sql/create_table.sql
中的数据库语句,自动创建库表。 - 启动项目,访问
http://localhost:8101/api/doc.html
即可打开接口文档,进行在线调试。
Redis 分布式登录
- 修改
application.yml
中的 Redis 配置:yml spring: redis: database: 1 host: localhost port: 6379 timeout: 5000 password: 123456
- 修改
application.yml
中的 session 存储方式:yml spring: session: store-type: redis
- 移除
MainApplication
类开头@SpringBootApplication
注解内的 exclude 参数:java @SpringBootApplication
Elasticsearch 搜索引擎
- 修改
application.yml
中的 Elasticsearch 配置:yml spring: elasticsearch: uris: http://localhost:9200 username: root password: 123456
- 复制
sql/post_es_mapping.json
文件中的内容,通过调用 Elasticsearch 的接口或者 Kibana Dev Tools 来创建索引。 - 开启同步任务,将数据库的帖子同步到 Elasticsearch。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】