519 字
3 分钟
Spring 面试导读:容器、事务、MVC 与 Boot 一条主线
Spring Framework、Spring MVC、Spring Boot 合成一个系列。先理解容器和代理,再看请求怎样被处理,最后理解 Boot 怎样自动组装应用,只保留基础面试需要的重点。
知识地图
Spring 容器 → Bean/注入/生命周期 → AOP 代理 → 声明式事务Spring MVC → 请求映射/参数/响应/异常Spring Boot → 依赖与自动配置 → 配置/环境/启动阅读路线与目录
导读排在系列最前面,下面的顺序与专题导航一致。每篇先读问题和解释,再尝试不看答案口述“是什么、怎么工作、有什么边界”,不需要逐句背原文。
| 专题 | 掌握标准 |
|---|---|
| Spring 核心与 Bean | 讲清 IoC/DI、Bean 选择、作用域与单例线程安全。 |
| Bean 生命周期与循环依赖 | 讲清初始化销毁回调、A/B 提前引用、三级缓存与代理边界。 |
| 补充:容器启动过程 | 串起 BeanDefinition、后置处理器与实例初始化。 |
| AOP 与事务 | 理解代理调用、回滚规则、传播行为和常见失效。 |
| MVC 请求处理 | 从 DispatcherServlet 讲到 Controller 和响应转换。 |
| Boot 自动配置与启动 | 区分 Starter、自动配置、组件扫描和外部配置。 |
第一轮准备到哪里?
第一轮读核心、Bean 生命周期、事务、MVC、Boot 五篇,容器启动篇作为补充。暂不展开 refresh 完整源码、复杂切点语法、WebFlux,以及所有自动配置类的加载链。
自查问题
- Spring 单例 Bean 是否保证线程安全?
- 为什么三级缓存中要有提前引用工厂,构造器循环为何不能直接解决?
- 同类自调用为什么不能应用内层事务传播配置?
- Filter、Interceptor 和 AOP 分别在哪一层工作?
- 引入 Starter 与自动配置有什么不同?
回答这些问题时,先给结论,再说明机制,最后用文章中的例子或边界验证。答不清时回到对应专题,不另外堆一套重复题库。
Spring 面试导读:容器、事务、MVC 与 Boot 一条主线
https://blog.xqcherry.top/posts/interview/spring/spring-interview-roadmap/ 目录