Skip to content

Latest commit

 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpringBoot 4.x 全家桶

SpringBootBucket4.x全家桶基于最新版本 Spring Boot 4.x 版本编写。Spring Boot 4.0基于Spring Framework 7.0,全面支持 Java25(含虚拟线程优化)。核心的新特性包括:HTTP Service Clients 简化远程调用;原生API版本管理;全面采用JSpecify空安全体系(默认为空,编译器防NPE);关键依赖升级至Jackson 3.0、Tomcat 11、Hibernate 7.1等;支持Gradle 9;Redis静态主从配置;移除Undertow。

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的。本项目对目前 Java Web 开发中常用的各项技术,通过和 Spring Boot 的集成,以「一篇博客 + 一个可运行项目」的形式详细说明。

每个子项目只引入完成该主题所需的最小依赖,可独立运行,也可按业务需要自由组合。

基于 Spring Boot 2.0 的旧版教程已归档至 springboot2.0 分支,保持只读不再维护。

版本基线

项 版本
JDK 21(Spring Boot 4 基线为 17,推荐 21 / 25)
Spring Boot 4.1.1
Spring Framework 7.0.9
Maven 3.9
容器 Tomcat 11(内置,Undertow 已在 4.0 移除)
JSON Jackson 3(tools.jackson 包名)

环境准备

依赖外部中间件的主题(数据库、缓存、消息队列)统一使用 Docker Compose 编排,无需在宿主机单独安装:

docker compose up -d          # 启动 MySQL / MongoDB / Redis / RabbitMQ
docker compose ps             # 查看容器与健康状态
docker compose down           # 停止
docker compose down -v        # 停止并清空数据
服务 端口 账号
MySQL 8.4 3306 root / root123456
MongoDB 8.0 27017 root / root123456
Redis 8.0 6379 密码 root123456
RabbitMQ 4(含管理台) 5672 / 15672 admin / admin123456

各主题所需的建库建表脚本放在对应工程的 src/main/resources/sql/ 下,具体步骤见该工程的 README。

运行方式

每个子项目均可独立运行:

cd springboot4-xxx
mvn clean package
java -jar target/springboot4-xxx-1.0.0.jar

也可以直接在 IDE 中运行启动类的 main 方法。默认端口为 8080,如与本地服务冲突,在 application.yml 中调整 server.port。

主题索引

进度以 待编写 → 进行中 → 已完成 标记。

P-1 Web 与数据

项目 文章 状态
springboot4-restful SpringBoot4系列01 - 实现RESTful接口 已完成
springboot4-mybatis SpringBoot4系列02 - 集成MyBatis-Plus 已完成
springboot4-jpa SpringBoot4系列03 - 集成Spring Data JPA与Hibernate 7 已完成
springboot4-mongodb SpringBoot4系列04 - 集成MongoDB 已完成
springboot4-multisource SpringBoot4系列05 - 多数据源配置 已完成
springboot4-transaction SpringBoot4系列06 - 声明式事务 已完成

P-2 中间件与集成

项目 文章 状态
springboot4-redis SpringBoot4系列07 - Redis数据库 已完成
springboot4-cache SpringBoot4系列08 - 使用缓存 已完成
springboot4-rabbitmq SpringBoot4系列09 - 使用消息队列RabbitMQ 已完成
springboot4-batch SpringBoot4系列10 - 使用批处理Spring Batch 已完成
springboot4-schedule SpringBoot4系列11 - 使用定时任务Schedule 已完成
springboot4-async SpringBoot4系列12 - 使用异步任务与线程池 已完成
springboot4-websocket SpringBoot4系列13 - 使用WebSocket实时通信 已完成
springboot4-restclient SpringBoot4系列14 - 使用声明式HTTP客户端RestClient 已完成
springboot4-grpc SpringBoot4系列15 - 集成gRPC服务 已完成

P-3 工程化与安全

项目 文章 状态
springboot4-aop SpringBoot4系列16 - 使用AOP 已完成
springboot4-starter SpringBoot4系列17 - 自己写Starter 已完成
springboot4-security SpringBoot4系列18 - 使用Spring Security 7权限管理 已完成
springboot4-oauth2 SpringBoot4系列19 - 使用OAuth2与JWT接口认证 已完成
springboot4-openapi SpringBoot4系列20 - 使用OpenAPI 3.1接口文档 已完成
springboot4-testing SpringBoot4系列21 - 测试体系JUnit 6与Testcontainers 已完成
springboot4-apiversion SpringBoot4系列22 - 使用API版本管理 已完成
springboot4-jackson3 SpringBoot4系列23 - 使用Jackson 3与空安全 已完成

P-4 生产化

项目 文章 状态
springboot4-observability SpringBoot4系列24 - 使用Actuator与OpenTelemetry可观测性 已完成
springboot4-resilience SpringBoot4系列25 - 使用内置弹性重试与并发限制 已完成
springboot4-native SpringBoot4系列26 - 使用GraalVM原生镜像与AOT 已完成
springboot4-virtualthreads SpringBoot4系列27 - 使用虚拟线程提升吞吐 已完成
springboot4-thymeleaf SpringBoot4系列28 - 集成Thymeleaf服务端渲染 已完成
springboot4-echarts SpringBoot4系列29 - 服务端图表数据接口与PNG导出 已完成

P-5 前沿

项目 文章 状态
springboot4-ai-mcp SpringBoot4系列30 - 用Spring AI把业务接口暴露成MCP工具 已完成

目录结构

.
├── articles/                 # 教程文章(Markdown)
├── springboot4-xxx/          # 各主题可运行工程
├── docker-compose.yml        # 本地中间件编排

许可证

Copyright (c) 2018-2026 Xiong Neng

基于 MIT 协议发布:http://www.opensource.org/licenses/MIT

About

Springboot bucket

Resources

Stars

1.1k stars

Watchers

70 watching

Forks

Releases

Packages

Used by

Contributors

Languages