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
最后修改:2025 年 03 月 24 日
如果觉得我的文章对你有用,请随意赞赏