Skip to content

Spring / Spring Boot ​

Spring 不是一组注解的集合,而是一套应用运行模型:启动阶段发现组件、建立对象图并挂接扩展能力;请求阶段复用对象图,通过 Web、事务和数据访问基础设施完成一次业务调用;Spring Boot 则在这套模型之上提供配置、自动装配、内嵌服务器、诊断和交付能力。

本专题使用同一个订单系统贯穿全部章节。每个机制都从真实问题进入,继续追踪运行阶段和源码入口,再用可运行代码、失败实验和排错路径完成验证。Framework 7.0 与 Boot 4.1 是源码主线,同时标明 Framework 6.2、Boot 3.5 及 Java 17/21 的生产差异。

学习起点 ​

完整知识体系 ​

下面是完整创作路线。标题带链接表示独立正文已经可以阅读;暂未链接的标题会继续按顺序创作,不使用空白页或提纲页占位。

基础运行模型 ​

  1. Spring 解决了什么问题
  2. 一个请求从应用启动到 JSON 响应的完整生命线
  3. Spring Framework、Spring Boot、Servlet 容器与生态项目边界
  4. Spring 注解运行机制与常用注解指南

Core Container ​

  1. BeanFactory、ApplicationContext 与 IoC 容器
  2. BeanDefinition 的来源与注册
  3. 配置类、组件扫描、Import 与条件解析
  4. refresh() 完整刷新过程
  5. Bean 实例化、构造器选择与依赖解析
  6. BeanPostProcessor、FactoryPostProcessor 与扩展点
  7. 生命周期、作用域、懒加载与销毁
  8. 循环依赖、三级缓存与代理一致性
  9. Resource、Environment、PropertySource 与 Profile
  10. 事件、国际化与应用解耦
  11. Validation、DataBinder、类型转换与格式化
  12. SpEL、元注解和组合注解
  13. Spring AOT 与运行时反射边界

AOP、事务与数据访问 ​

  1. AOP 代理创建、拦截器链与事务入口
  2. 切点、通知、Advisor 与代理选择
  3. 声明式事务从注解到数据库连接
  4. 传播行为、隔离级别、rollback-only 与事务同步
  5. 事务失效、异步边界和外部副作用
  6. JdbcTemplate、连接管理与统一数据异常
  7. JPA、ORM、R2DBC 与 Spring 事务接入边界

Web ​

  1. Spring MVC 请求处理总览
  2. DispatcherServlet 请求分派
  3. 参数解析、数据绑定、校验和消息转换
  4. 返回值、内容协商、异常处理和流式响应
  5. Filter、Interceptor、AOP 与安全过滤链
  6. 文件上传、静态资源、CORS 与异步请求
  7. REST Client、HTTP Interface 与客户端错误处理
  8. WebSocket、SockJS 与 STOMP
  9. WebFlux、WebClient、背压与 Servlet 模型边界
  10. RSocket 与响应式双向通信

Testing 与 Integration ​

  1. Spring TestContext 与上下文缓存
  2. 单元测试、测试切片和完整集成测试
  3. MockMvc、RestTestClient 与 WebTestClient
  4. 数据库、消息和容器化测试
  5. 异步任务、调度与线程池
  6. 缓存抽象与一致性边界
  7. JMS、邮件、JMX 与 Observability

Spring Boot ​

  1. SpringApplication.run() 完整启动过程
  2. Config Data、配置覆盖与配置绑定
  3. 自动配置候选、条件、排序和退让
  4. Starter 与自定义 AutoConfiguration
  5. 内嵌 Tomcat、Jetty、Netty 与优雅停机
  6. 日志系统、FailureAnalyzer 与启动诊断
  7. SQL、NoSQL、消息、缓存和 IO 自动配置
  8. Actuator、健康检查、指标、Tracing 和审计
  9. 可执行 Jar、分层 Jar、Docker 与 Buildpacks
  10. AOT、Native Image、Checkpoint Restore 与启动优化
  11. Spring Boot 配置与生产运行

如何阅读 ​

第一次接触 Spring,应从基础运行模型顺序阅读,再进入 Core Container。已经能够开发接口但经常遇到事务、注入或 404 问题,可以先读完整生命线,再按现象进入对应章节。准备升级或排查生产启动问题时,应同时关注每篇的版本差异、失败实验和证据链,不直接把内部源码细节当作稳定 API。

Security、Spring Data、Integration、Cloud 等独立生态项目只在本专题中说明接入点;它们的内部原理在独立专题展开。

别急,先让缓存热一下。