Skip to content

Spring 知识体系总览


第1阶段 IoC 容器 → Bean生命周期、依赖注入
第2阶段 AOP 原理 → 代理模式、切面编程
第3阶段 事务机制 → 传播行为、失效场景
第4阶段 Spring Boot → 自动配置、Starter
Spring
┌───────────┬───────────┼───────────┐
▼ ▼ ▼ ▼
IoC AOP 事务 Spring Boot
│ │ │ │
• Bean生命周期 • JDK代理 • 传播行为 • 自动配置
• 依赖注入 • CGLIB • 隔离级别 • SPI机制
• 循环依赖 • 切面 • 失效场景 • Starter
• 三级缓存 • 自调用 • 分布式事务 • 内嵌容器
专题考察频率难度核心能力
IoC 原理★★★★★三级缓存
AOP 原理★★★★★代理机制
事务★★★★★失效场景
Spring Boot★★★★☆自动配置

🏗️ IoC 容器原理

Bean 的生命周期;BeanDefinition 与注册流程;依赖注入的三种方式;循环依赖与三级缓存;BeanFactory vs ApplicationContext。

🔮 AOP 原理

代理模式(JDK 动态代理 vs CGLIB);切面、切点、通知的关系;@Transactional 为何依赖 AOP;自调用失效问题与解决方案。

💾 事务机制

Spring 事务的传播行为(7种);事务隔离级别;@Transactional 的失效场景;编程式 vs 声明式事务;分布式事务入门。

⚡ Spring Boot 自动配置

@SpringBootApplication 的组成;自动配置原理(SPI 机制);条件注解(@ConditionalOnXxx);Starter 机制;内嵌容器启动流程。


专题初级中级高级代表问题
IoC 原理⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Bean 生命周期有哪些阶段?循环依赖如何解决?
AOP 原理⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐JDK 动态代理和 CGLIB 的区别?AOP 自调用为什么失效?
事务⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐@Transactional 有哪些失效场景?REQUIRED 和 REQUIRES_NEW 的区别?
Spring Boot⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐自动配置是怎么实现的?Spring Boot 启动流程?

Spring Framework 核心模块:
Core Container
├── Core / Beans(IoC 容器核心)
├── Context(ApplicationContext,事件、国际化等)
└── SpEL(Spring 表达式语言)
AOP & Instrumentation
├── AOP(切面编程框架)
└── Aspects(AspectJ 集成)
Data Access / Integration
├── JDBC(JdbcTemplate)
├── ORM(Hibernate/MyBatis 集成)
└── Transaction(事务管理)
Web
├── Spring MVC(Web 层)
├── Spring WebFlux(响应式 Web,Spring 5+)
└── WebSocket
Spring Boot(在 Spring Framework 基础上)
├── 自动配置(Auto-Configuration)
├── Starter(依赖管理)
└── 内嵌容器(Tomcat/Jetty/Undertow)

第1天 Bean 生命周期 → 能画出完整生命周期图,理解每个扩展点
第2天 循环依赖与三级缓存 → 三级缓存的每一级存什么,为什么需要三级
第3天 AOP 代理机制 → JDK vs CGLIB 的选择逻辑,自调用问题如何解决
第4天 事务传播行为与失效场景 → 7种传播行为要熟,失效场景是高频陷阱题
第5天 Spring Boot 自动配置 → SPI + 条件注解的组合机制要讲清楚