基于 Java Web 项目的 SpringBoot 框架初始化模板,以配置为中心依赖注入,适合新手快速上手入门

18次阅读

共计 2537 个字符,预计需要花费 7 分钟才能阅读完成。

项目详情点击 这里,模板介绍如下:

基于 Java Web 项目的 SpringBoot 框架初始化模板,以配置为中心依赖注入,适合新手快速上手入门

作者:AntonyCheng

版本号:v2.x.x

开源协议:Apache License 2.0

SpringBoot 初始化模板

基于 Java Web 项目的 SpringBoot 框架初始化模板,该模板整合了常用的框架,保证大家在此基础上能够快速开发自己的项目,该模板针对于后端启动开发小而精,本项目会由作者持续更新。

模板特点

主流框架

  • Java 11

    • 兼容性,详情见[兼容 Java8](# 兼容 Java8)
  • SpringBoot 2.7.18

  • Netty

    • netty-all 4.1.107.Final == Netty 框架
  • MySQL

    • mysql-connector-j 8.0.33 == Java 连接 MySQL 依赖
    • mybatis-plus-boot-starter 3.5.5 == MySQL 操作框架
    • shardingsphere-jdbc-core 5.3.2 == 分布式数据库解决方案
    • druid-spring-boot-starter 1.2.21 == Druid 连接池
  • 工具类

    • lombok 1.18.30 == POJO 简化工具
    • hutool-all 5.8.26 == Hutool 工具类
    • commons-lang3 3.14.0 == Apache Commons Lang 工具类
    • commons-io 2.15.1 == Apache Commons IO 工具类
    • commons-codec 1.16.0 == Apache Commons Codec 工具类
    • commons-pool2 2.12.0 == Apache Commons Pool 工具类
    • commons-collections4 4.4 == Apache Commons Collections 工具类
    • commons-math3 3.6.1 == Apache Commons Math 工具类
    • ok-http 4.12.0 == Ok Http 工具类
    • fastjson2 2.0.47 == Fast JSON 工具类
    • ip2region 2.7.0 == 离线 IP 地址定位库
  • 权限校验

    • sa-token-spring-boot-starter == SaToken 认证鉴权框架
    • sa-token-core 1.37.0 == SaToken 认证鉴权框架核心依赖
    • sa-token-jwt 1.37.0 == SaToken 认证鉴权框架 JWT 依赖
    • sa-token-redis-jackson 1.37.0 == SaToken 认证鉴权框架 Redis 依赖
  • 缓存服务

    • spring-boot-starter-data-redis == Spring Data Redis 依赖
    • spring-boot-starter-cache == Spring Cache 依赖
    • redisson 3.27.1 == Redis 的基础上实现的 Java 驻内存数据网格
  • 本地缓存服务

    • caffeine 3.1.8 == Caffeine 本地缓存依赖
  • 消息队列

    • spring-boot-starter-amqp == 支持 AMQP(高级消息队列协议)消息代理
    • spring-rabbit-test == Spring 支持对 RabbitMQ 消息队列的单元测试
  • 搜索引擎

    • easy-es-boot-starter 2.0.0-bata5 == 简化 Elasticsearch 搜索引擎,可以像 Mybatis-Plus 操作 MySQL 一样操作 Elasticsearch 的开源框架
    • elasticsearch 7.14.0 == Elasticsearch 依赖
    • elasticsearch-rest-high-level-client 7.14.0 == ES 高级别客户端依赖
    • logstash-logback-encoder 7.3 == Logstash 依赖
  • 对象存储(OSS)

    • cos_api 5.6.205 == 腾讯云 COS
    • aliyun-sdk-oss 3.17.4 == 阿里云 OSS
    • minio 8.5.8 == Minio 对象存储
  • 文件操作

    • poi 5.2.5 == 操作 Word
    • easyexcel 3.3.3 == 操作 Excel
    • itext-core 8.0.3 == 操作 PDF
  • 接口文档 & API 调试

    • knife4j-openapi3-spring-boot-starter 4.4.0 == Knife4j 依赖
  • 外接平台(建议生产环境上使用 Docker 容器化技术自行部署一套平台,不要通过模板中的模块代码直接进行编译部署,主要原因是为了适配模板,外接平台中的某些代码被作者修改过)

    • xxl-job-core 2.4.0 == 分布式定时任务管理平台
    • powerjob-worker-spring-boot-starter 4.3.9 == 更强劲的分布式定时任务管理平台(个人认为,针对于中小型项目而言,PowerJob 并不适用,可以对比一下 XxlJob,就能发现 PowerJob 很多功能用不上,当然这得让开发者自己考虑,所以模板依然保留了 XxlJob 的集成模块)
    • spring-boot-admin-client 2.7.9 == SpringBoot 服务监控平台
    • canal.client 1.1.7 == Canal-Deployer & Canal-Adapter 数据同步系统

业务特性

  • 使用 Undertow 服务器替换掉 Tomcat 服务器,无阻塞更适合高并发
  • SaToken 可配置分布式登录 & 认证 & 鉴权
  • AOP 逻辑处理示例
  • 自定义注解处理示例
  • 验证码分布式校验
  • 全局请求拦截器 & 过滤器
  • 全局异常处理器
  • 封装统一响应对象
  • 自定义响应码
  • 可配置式国际化
  • 可配置式多类型对象存储
  • 可实现多级缓存
  • 毫秒级离线 IP 查询
  • SpringDoc + Knife4j 接口文档
  • 全局跨域处理
  • Spring 上下文处理工具
  • JSON 长整型精度处理
  • 自动字段填充器
  • 基于 Netty 的 WebSocket 全双工通信设计示例
  • 对象存储、消息队列、缓存、分布式锁、限流、国际化、网络等工具类

业务功能

示例业务

  • 提供模板 SQL 示例文件(业务数据库 & XxlJob 数据库 & PowerJob 数据库)
  • 用户登录、注册、注销、信息获取
  • Spring Scheduler 单机版定时任务示例
  • XxlJob & PowerJob 使用逻辑代码示例
  • RabbitMQ 多类型消息队列逻辑代码示例
  • AOP 逻辑代码示例
  • 自定义注解逻辑代码示例
  • 国际化逻辑代码示例
  • 验证码逻辑代码示例
  • 操作 Elasticsearch 代码示例
  • 操作 MongoDB 代码示例

单元测试

  • JUnit5 单元测试
  • 示例单元测试类
正文完
 0