springboot4 项目从零搭建

springboot4 项目从零搭建

作者介绍

工作十多年的java +rust 程序员,专注于 云原生和高性能中间件 的开发

整体计划

0 springboot4 + jdk25 项目搭建

1 导入导出 高性能组件

2 学习springboot4 jdk25的新特性

3 搭建基础骨架

4 实现一个admin项目(oauth2)

之后新文章 会通知

本项目背景

现在项目 基本都在 springboot2 + jdk8 的存量占 java项目中的 80%,而最近几年 随着jdk8 等的不维护,漏洞的维护基本都在springboot3 + jdk11 以上才解决

而且 xxl-job 也已经升级到 springboot3,看看他的原因

从 2.x 直接升级到 Spring Boot 3,并不是"为了追新而追新",而是「安全合规 + 持续免费维护 + 利用新特性」三条主线权衡后的唯一可行路径,留在 Boot 2 将面临"有洞无补丁、JDK 锁死 8、生态逐步断粮"的三重死结

  1. 安全红线:Boot 2 已停更,新漏洞不再打补丁
    2024 年之后,Spring 官方对 Boot 2.7.x 进入「End of OSS Support」状态;像 CVE-2024-38816、CVE-2024-38819 这类目录遍历漏洞,官方明确只在 3.2.x 及以后提供修复,2.x 社区版不再发版。
漏洞编号 漏洞类型 Spring Boot 2.x 最终状态 Spring Boot 3 首次修复版本 备注
CVE-2024-38816 目录遍历(Spring Framework 级) 2.7.18 仍受影,官方明确不再发版 ≥ 3.2.0(底层 Spring Framework 6.1.14) 必须升级 Boot 3 才能拿到免费补丁
CVE-2024-38819 目录遍历(同系列另一入口) 2.7.18 仍受影响 ≥ 3.2.0(Framework 6.1.14) 同上,2.x 无后续计划
CVE-2023-20873 Cloud Foundry 场景安全绕过 2.7.10/2.6.14 以后仅"企业支持"分支继续,社区版止步 ≥ 3.0.6 官方公告:若要免费补丁请升 3.x
CVE-2023-20883 环境属性注入导致的 RCE 2.7.18 为 2.x 最后一版,但漏洞在 2.x 代码仍存在;3.0.0+ 彻底重构了 Environment 后置处理器 ≥ 3.0.0 2.x 仅给出缓解方案,无代码级修复

2 JDK 生命线:Boot 3 强制 JDK 17,正好顺水推舟

国内金融、运营商、政务等 2025 年已普遍要求「新上线系统须基于 JDK 17 及以上」,老 JDK 8 只能维护旧线。

3 依赖链「断粮」风险:MyBatis、Netty、Tomcat 都在抛弃 2.x

2025 年发布的 Netty 5、MyBatis 3.5.16、Tomcat 11 等核心依赖已把「最低要求」提到 Boot 3/Jakarta 版本;

为什么升级到 springboot4 ,而不是springboot3

之前已经搭建一个springboot3的基础骨架,但是我再测试 虚拟线程的时候 ,发现有bug,一查询, jdk25才彻底解决

然后看了一遍 springboot4 文档

解决的问题:

安全债务:Java 8已无公开安全更新

规范债务:从Java EE过渡到Jakarta EE

性能债务:传统线程模型已不适合云原生

期望

非业务要求

0 java 新特性 调研

1 满足 代码规范

2 满足 等保2.0 要求,经过阿里云的 安全监测,0问题

3 性能高,内存占用低

4 监控完整 ,默认支持 k8s

5 全面兼容SpringBoot3 Native

6 采用 leyben 优化性能

7 导入导出 高性能组件

业务要求

1 采用 DDD 领域驱动设计

2

下一节 学习 springboot4 新特性

相关推荐
编程彩机2 小时前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
bbq粉刷匠2 小时前
Java-排序2
java·数据结构·排序算法
编程彩机2 小时前
互联网大厂Java面试:从Spring WebFlux到分布式事务的技术场景解析
java·微服务·面试·分布式事务·spring webflux
Jm_洋洋2 小时前
【C++进阶】虚函数、虚表与虚指针:多态底层机制剖析
java·开发语言·c++
小马爱打代码2 小时前
MyBatis:缓存体系设计与避坑大全
java·缓存·mybatis
时艰.3 小时前
Java 并发编程:Callable、Future 与 CompletableFuture
java·网络
码云数智-园园3 小时前
深入理解与正确实现 .NET 中的 BackgroundService
java·开发语言
好好研究3 小时前
SpringBoot整合SpringMVC
xml·java·spring boot·后端·mvc
千寻技术帮3 小时前
10386_基于SpringBoot的外卖点餐管理系统
java·spring boot·vue·外卖点餐
曹轲恒3 小时前
SpringBoot整合SpringMVC(末)
java·spring boot·后端