目录
[二、什么是 Spring?](#二、什么是 Spring?)
[三、Spring 全家桶体系](#三、Spring 全家桶体系)
[1、Spring Framework](#1、Spring Framework)
[2、Spring Boot](#2、Spring Boot)
[3、Spring Security](#3、Spring Security)
[4、Spring Data](#4、Spring Data)
[5、Spring Cloud](#5、Spring Cloud)
[四、Spring 核心:IoC](#四、Spring 核心:IoC)
[五、Spring 核心:AOP](#五、Spring 核心:AOP)
[六、Spring6 为什么重要](#六、Spring6 为什么重要)
[七、Spring6 核心新特性](#七、Spring6 核心新特性)
[1、全面支持 JDK17](#1、全面支持 JDK17)
[2、迁移到 Jakarta EE](#2、迁移到 Jakarta EE)
[3、AOT 编译支持](#3、AOT 编译支持)
[4、GraalVM Native Image](#4、GraalVM Native Image)
[八、Spring Boot 3 新变化](#八、Spring Boot 3 新变化)
[2、Native Build](#2、Native Build)
[九、Spring6 与云原生](#九、Spring6 与云原生)
[十、升级 Spring6 需要注意什么](#十、升级 Spring6 需要注意什么)
[1、升级 JDK17](#1、升级 JDK17)
[2、修改 javax 包](#2、修改 javax 包)
一、前言
如果说 Java 是企业级开发领域的霸主,那么 Spring 无疑是 Java 生态中最成功的框架。
从最初的:
Spring Framework
发展到今天:
Spring Boot
Spring Cloud
Spring Security
Spring Data
Spring AI
Spring 已经从一个轻量级容器演变成了一个完整的企业级开发生态。
对于 Java 开发者而言,掌握 Spring 全家桶几乎是必备技能。
而随着 Spring Framework 6 和 Spring Boot 3 的发布,Spring 正式进入:
JDK17
Jakarta EE
AOT
Native Image
云原生
新时代。
本文将带你系统梳理:
-
Spring 全家桶组成
-
Spring 核心原理
-
Spring6 新特性
-
SpringBoot3 变化
-
云原生支持
-
升级建议
二、什么是 Spring?
Spring 是一个开源 Java 企业级开发框架。
官网定义:
Spring makes Java simple.
即:
让 Java 开发更简单
Spring 的核心思想:
IoC(控制反转)
AOP(面向切面编程)
通过这两个特性:
降低代码耦合
提升扩展能力
提高开发效率
三、Spring 全家桶体系
如今 Spring 已经形成庞大的生态。
整体架构如下:

1、Spring Framework
核心框架。
提供:
IoC容器
AOP
事务管理
MVC
数据访问
所有 Spring 项目的基础。
2、Spring Boot
Spring Boot 是目前最流行的 Java 开发框架。
核心理念:
Convention Over Configuration
即:
约定大于配置
以前:
<bean id="userService"
class="xxx.UserService"/>
需要大量 XML。
而现在:
java
@Service
public class UserService {
}
即可完成 Bean 注册。
启动项目:
java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(
Application.class,
args
);
}
}
3、Spring Security
企业级安全框架。
主要功能:
登录认证
权限控制
OAuth2
JWT
单点登录
示例:
java
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
SecurityFilterChain filterChain(
HttpSecurity http)
throws Exception {
return http
.authorizeHttpRequests(
auth -> auth
.anyRequest()
.authenticated()
)
.formLogin()
.and()
.build();
}
}
4、Spring Data
统一数据访问层。
支持:
MySQL
PostgreSQL
MongoDB
Redis
Elasticsearch
例如:
java
public interface UserRepository
extends JpaRepository<User, Long> {
User findByName(String name);
}
无需手写 SQL。
5、Spring Cloud
微服务解决方案。
提供:
服务注册
配置中心
负载均衡
熔断降级
链路追踪
网关
常见组件:
Nacos
Gateway
OpenFeign
Sentinel
Seata
四、Spring 核心:IoC
Spring 最重要的特性:
IoC
即:
Inversion of Control
控制反转。
传统开发:
java
UserService userService =
new UserService();
对象自己创建依赖。
Spring:
java
@Autowired
private UserService userService;
由容器负责创建。
流程:

优势:
解耦
统一管理
方便测试
五、Spring 核心:AOP
AOP:
Aspect Oriented Programming
面向切面编程。
例如:
日志功能:
java
public void save() {
log.info("开始执行");
//业务代码
log.info("执行结束");
}
每个方法都写日志非常麻烦。
使用 AOP:
java
@Aspect
@Component
public class LogAspect {
@Before(
"execution(* com.demo.*.*(..))"
)
public void before() {
System.out.println("开始执行");
}
}
即可统一增强。
应用场景:
日志
权限校验
事务
监控
缓存
六、Spring6 为什么重要
2022 年发布的 Spring Framework 6 是一次重大升级。
原因:
全面拥抱现代 Java
最低要求:
JDK17+
不再支持:
JDK8
JDK11
七、Spring6 核心新特性
1、全面支持 JDK17
Spring6 官方最低版本:
Java 17
可以使用:
java
record User(
Long id,
String name
) {
}
以及:
java
sealed interface Animal
permits Dog, Cat {
}
现代 Java 特性。
2、迁移到 Jakarta EE
这是升级影响最大的变化。
以前:
java
import javax.servlet.*;
现在:
java
import jakarta.servlet.*;
变化:
javax
↓
jakarta
例如:
java
import jakarta.validation.Valid;
替代:
java
import javax.validation.Valid;
3、AOT 编译支持
AOT:
Ahead Of Time
提前编译。
传统 Spring:
运行时反射
Spring6:
构建时生成元数据
提升:
启动速度
运行效率
4、GraalVM Native Image
Spring6 支持:
Native Image
将 Java 编译为本地程序。
启动速度:
毫秒级
内存占用:
降低数倍
构建:
mvn native:compile
生成:
application.exe
无需 JVM。
5、Observability
Spring6 引入:
Micrometer Observation
统一:
日志
指标
链路追踪
例如:
java
Observation.createNotStarted(
"order.create",
registry
)
.observe(() -> {
//业务逻辑
});
八、Spring Boot 3 新变化
Spring6 通常配合:
Spring Boot 3
使用。
对应关系:
| Spring Framework | Spring Boot |
|---|---|
| Spring5 | Boot2 |
| Spring6 | Boot3 |
1、支持虚拟线程
JDK21:
Virtual Thread
示例:
java
@Bean
TaskExecutor executor() {
return new TaskExecutorAdapter(
Executors.newVirtualThreadPerTaskExecutor()
);
}
高并发能力更强。
2、Native Build
构建:
mvn spring-boot:build-image
即可生成容器镜像。
无需 Dockerfile。
3、统一监控体系
Actuator 深度整合:
Prometheus
Grafana
OpenTelemetry
支持云原生监控。
九、Spring6 与云原生
Spring6 最大目标之一:
Cloud Native
云原生。
架构:

特点:
快速启动
低内存
自动扩缩容
可观测性
非常适合:
K8S
Serverless
微服务
部署场景。
十、升级 Spring6 需要注意什么
1、升级 JDK17
必须:
JDK17+
2、修改 javax 包
例如:
javax.servlet
修改为:
jakarta.servlet
3、升级依赖
例如:
spring-boot-starter-parent
升级:
<version>3.x.x</version>
4、检查第三方库
老版本:
MyBatis
Shiro
Swagger
可能不兼容。
建议升级最新版。
十一、未来发展方向
Spring 官方正在重点投入:
Spring AI
例如:
OpenAI
DeepSeek
Claude
Gemini
集成。
示例:
java
@Autowired
private ChatClient chatClient;
String result =
chatClient.prompt()
.user("介绍Spring6")
.call()
.content();
未来 Spring 将不仅是:
Web框架
更是:
AI应用开发框架
十二、总结
Spring 经过二十多年的发展,已经形成了完整的企业级开发生态。
核心体系:
Spring Framework
↓
Spring Boot
↓
Spring Cloud
↓
Spring AI
而 Spring6 的发布则标志着:
JDK17时代
Jakarta时代
云原生时代
AI时代
正式到来。
对于 Java 开发者而言,掌握 Spring6 不仅意味着学会新的 API,更意味着理解未来 Java 企业级开发的发展方向。
可以这样理解:
Spring5 解决的是"如何快速开发应用"。
Spring6 解决的是"如何构建面向云原生与AI时代的应用"。