SpringBoot模板
源代码
https://pic.webwss.cn/springboot-init-master.zip
模板特点
主流框架
- Spring Boot 2.7.x
- Spring MVC
- MyBatis + MyBatisPlus 数据访问(开启分页)
- Spring Boot 调试工具和项目处理器
- Spring AOP 切面编程
- Spring Scheduler 定时任务
- Spring 事务注解
数据存储
- MySQL 数据库
- Redis 内存数据库
- Elastic Search 搜索引擎
- 腾讯云 COS 对象存储
工具类
- Easy Excel 表格处理
- Hutool 工具库
- Gson 解析库
- Apache Commons Lang3 工具类
- Lombok注解
业务特性
- Spring Session Redis 分布式登录
- 全局请求响应拦截器
- 全局异常处理器
- 自定义错误码
- 封装通用响应类
- Swagger + Knife4j 接口文档
- 自定义权限注解 + 全局校验
- 全局跨域处理
- 长整型丢失精度解决
- 多环境配置
业务功能
- 提供示例SQL(用户、帖子、帖子点赞、帖子收藏表)
- 用户登录、注册、注销、更新、检索、权限管理
- 帖子创建、删除、编辑、更新、数据库检索、ES灵活检索
- 帖子点赞、取消点赞
- 帖子收藏、取消收藏、检索已收藏帖子
- 帖子全量同步ES、增量同步ES定时任务
- 支持微信开放平台登录
- 支持微信公众号订阅、首发消息、设置菜单
- 支持分业务的文件上传
单元测试
- JUnit5单元测试
- 示例单元测试类
架构设计
- 合理分层
快速上手
所有需要修改的地方都标记了todo,便与修改
MySQL
1)修改application.yml的数据库配置文件
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/my_db
username: root
password: 123456
2)执行sql/create\_table.sql中的数据库语句,自动创建库表
3)启动项目,访问:http://localhost:8101/api/doc.html 即可打开接口文档,不需要写前端就能在线调试接口
Redis分布式登录
1)修改application.yml的Redis配置
spring:
redis:
database: 1
host: localhost
port: 6379
timeout: 5000
password: 123456
2)修改application.yml中session存储方式
spring:
session:
store-type: redis
3)异出MainApplication类开头SpringBootApplication注解内的exclude参数
修改前:
@SpringBootApplication(exclude = {RedisAutoConfiguration.class})
修改后
@SpringBootApplication
Elastic Search搜索引擎
1)修改application.yml的Elasticsearch配置
spring:
elasticsearch:
uris: http://localhost:9200
username: root
password: 123456
2)复制sql/post\_es\_mapping.json文件中的内容,通过调用Elasticsearch的接口或者Kibana Dev Tools来创建索引(相当于数据库建表)
PUT post_v1
{
参数见 sql/post_es_mapping.json 文件
}
这步不会操作的需要补充下Elastic Search的知识
3)开启同步任务,将数据库的帖子同步到Elasticsearch
找到job目录下的FullSyncPostToEs和IncSyncPostToEs文件,取消掉@Component注解的注释,再次执行程序可触发同步
// todo 取消注释开启任务
//@Component