posts

《Spring Boot 高级》 · 全书目录与章节索引(34 篇)

《Spring Boot 高级》全 34 篇,面向已能独立交付服务、想理解框架内部机制的工程师:从容器启动流程、Bean 定义与依赖解析、自动配置与条件装配、AOP 代理机制讲起,覆盖 MVC 请求管线、WebFlux 与背压、持久化上下文与连接、事务同步与虚拟线程、安全过滤器链与方法级授权,再到 AOT 与原生镜像、可观测性与运行时诊断,最后落到 Spring Boot 3.x 到 4.x 的迁移。本页给出全书分章目录。

《Spring Boot 高级》全 34 篇,是一套面向「已经能独立交付服务、想理解框架内部机制」的工程师的进阶书:从容器内部讲到交付运行与版本迁移,示例基于 Spring Boot 4.1.1 + Java 21 实跑,关键结论均以实际 jar 与源码核实。

本页是《Spring Boot 高级》的全书目录:按章节顺序列出全部 34 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三条学习路径与八周计划。

全书概览

项目内容
书稿《Spring Boot 高级》
篇数34 篇(正文 11 章 33 节 + 目录篇)
领域Spring Boot 4.x 框架内部机制与运行时原理
阅读方式从目录篇 进入按顺序通读,或按排查场景跳读
实测版本Spring Boot 4.1.1(Spring Framework 7.0.9)+ Java 21.0.12.1 + Maven 3.9.12
对照版本Spring Boot 3.5.16(Spring Framework 6.2.19),差异处单独标注
上级专题书稿专题

全书目录

前置:目录

节文章核心内容
—目录与学习路径全书导航页:读者定位、三条学习路径与八周计划、四个部分的依赖关系与 33 节逐节索引

第一部分:容器内部机制(第 1–3 章)

节文章核心内容
1.11.1 ApplicationContext 启动流程从 SpringApplication.run() 追到容器可用,拆开 refresh() 的步骤与两类后处理器的介入时机
1.21.2 Bean 定义注册与合并BeanDefinition 的结构、组件扫描如何产出定义、父子定义合并与同名冲突的处理
1.31.3 依赖解析与循环依赖getBean() 的解析流程、三级缓存为何能解 setter 循环依赖、构造器注入为何必然失败
2.12.1 自动配置类的加载顺序imports 清单的实际规模、@AutoConfiguration 的语义与排序规则、字典序兜底的意义
2.22.2 @Conditional 家族实现条件在哪个阶段被评估、OnClassCondition 等实现如何工作、评估结果如何进 --debug 报告
2.32.3 自动配置的覆盖与排除自动配置如何为用户定义「让路」、两种排除方式的差别、覆盖自动配置 Bean 的风险
3.13.1 JDK 动态代理与 CGLIB两种代理的选择规则、proxyTargetClass 如何改变结果、CGLIB 内联进 spring-core 的影响
3.23.2 切面织入与顺序@Aspect 如何变成 Advisor、多个 advice 如何串成调用链、@Order 与同切面内次序
3.33.3 代理失效的边界自调用与 private / final / static 为何绕过代理、AopContext.currentProxy() 与自注入的代价

第二部分:Web 请求处理(第 4–5 章)

节文章核心内容
4.14.1 DispatcherServlet 处理链逐段拆开 doDispatch()、HandlerMapping 如何找到 handler、HandlerAdapter 为何存在
4.24.2 参数解析与消息转换参数解析器的默认顺序、@RequestBody 如何按 Content-Type 选中转换器、自定义注册位置
4.34.3 过滤器、拦截器与异常解析Filter 与 Interceptor 的时机差异、异常解析链的固定顺序、@ResponseStatus 在哪一环生效
5.15.1 响应式类型与背压Mono / Flux 的语义与惰性、request(n) 协议如何构成背压、各类背压策略的适用场景
5.25.2 WebFlux 请求处理WebFlux 与 MVC 是两条独立栈、DispatcherHandler 与 WebFilter 的职责、两种端点风格取舍
5.35.3 阻塞代码的隔离事件循环上跑阻塞代码会发生什么、publishOn 与 subscribeOn 的差别、用 BlockHound 抓问题

第三部分:数据、事务与安全(第 6–8 章)

节文章核心内容
6.16.1 EntityManager 与持久化上下文注入的 EntityManager 为何是代理、实体四种状态如何转换、持久化上下文何时创建与销毁
6.26.2 事务与 Flush 时机Hibernate 在哪些时刻 flush、FlushMode 各取值的含义、readOnly 在 ORM 层实际改了什么
6.36.3 连接获取与延迟加载连接何时被占用与归还、LazyConnectionDataSourceProxy 的意义、open-in-view 的代价
7.17.1 事务同步与事件TransactionSynchronizationManager 的机制、@TransactionalEventListener 四个 phase、提交后发消息
7.27.2 虚拟线程下的 Spring开启虚拟线程后替换了哪些组件、pinning 在哪个 JDK 版本被修掉、它适合什么任务
7.37.3 并发编程与线程池模型ThreadPoolTaskExecutor 的队列策略、@Async 默认执行器为何危险、上下文如何跨线程传递
8.18.1 过滤器链构建过程springSecurityFilterChain 如何被创建并注册、HttpSecurity 的 DSL 装配出什么、多链如何匹配
8.28.2 认证与授权流程ProviderManager 与认证提供者的协作、SecurityContext 的存储策略、授权决策链怎么走
8.38.3 方法安全与上下文传播@EnableMethodSecurity 背后仍是 AOP、表达式求值拿到哪些上下文、安全上下文如何跨线程传播

第四部分:构建、可观测与迁移(第 9–11 章)

节文章核心内容
9.19.1 AOT 处理与生成物AOT 处理在构建期做了什么、生成物有哪些、扩展点是什么、AOT 模式下为何能少走反射
9.29.2 反射与资源配置反射与动态代理在原生镜像下为何失败、RuntimeHints 如何声明元数据、如何排查配置缺失
9.39.3 原生镜像的构建与权衡原生镜像换来什么、付出什么代价、哪类服务适合上、它与 CDS 等手段的关系
10.110.1 Micrometer 指标模型四种计量器的语义差异、Observation 如何统一指标与追踪、MeterFilter 能做什么、P99 怎么算
10.210.2 分布式追踪实现追踪门面为何这样设计、桥接实现的取舍、采样策略如何组合、传播格式的差别
10.310.3 生产问题诊断手段JFR 记录什么、jcmd 与线程转储怎么用、堆转储怎么获取与分析、在线诊断工具的风险
11.111.1 Spring Boot 4 的模块化重构大模块被拆成了什么、starter 改名对照、对依赖声明与 import 语句的实际影响
11.211.2 依赖与配置迁移清单按依赖关系排好序的迁移步骤:坐标与版本、类与注解改名、配置属性重命名与逐步验证
11.311.3 迁移实测与回滚策略如何分批验证、哪些改动不可回滚、怎么用特性开关降低风险、什么情况下不该迁

怎么用这份索引

相关阅读

全部文章 Game Golang SaaS Rust Python Java 游戏开发 客户端开发 GameDev TypeScript