--- title: "00-Spring总览" created: 2025-11-25 tags: - Java --- # Spring总览 > [!note] 定位说明 > 本篇是 04-Spring 分区入口。Spring 的两大地基:**IoC/DI(对象交给容器管)** 与 **AOP(横切关注点抽离)**——全部分区按此组织为五篇系统讲解。前置知识在 01-Java基础:[[01-Class对象与反射机制|Class 对象与反射机制]]、[[03-注解原理|注解原理]]、[[05-动态代理|动态代理]]——Spring 本质上就是这三样东西的工程化集大成。学习动线:本篇 → [[01-Spring IOC(控制反转)|Spring IOC]] → [[02-依赖注入(DI)|依赖注入 DI]] → [[03-Spring AOP(面向切面编程)|Spring AOP]] → [[04-Bean生命周期与三级缓存|Bean生命周期与三级缓存]] → [[05-Spring事务管理|Spring事务管理]]。 下面是当初规划 Spring 笔记时留下的目录树(原话保留)——实际落地时 IoC 与 DI 各成一篇、AOP 一篇,正好覆盖树中标注的核心项: ``` ├── 01-IoC与DI/ │ ├── 01-IoC容器概念.md # 什么是控制反转、BeanFactory / ApplicationContext │ ├── 02-DI注入方式.md # 构造器注入 / Setter注入 / 字段注入,对比优缺点 │ ├── 03-Bean生命周期与作用域.md # 初始化、销毁、作用域 singleton/prototype 等 │ └── 04-配置方式.md # XML / 注解 / JavaConfig 对比(可选) ├── 02-AOP机制/ │ ├── 01-AOP基本概念.md # 连接点、切点、通知、切面、织入时机 │ ├── 02-底层实现-代理机制.md # JDK动态代理 vs CGLIB、代理链 │ ├── 03-常见使用场景.md # 事务、日志、权限、监控 │ └── 04-@Transactional细节.md # 事务传播、隔离级别、常见坑(可选) ``` ## 三篇怎么读 | 篇 | 回答的问题 | 前置知识 | | --- | --- | --- | | [[2-Learning/04-Java/04-Spring/01-Spring IOC(控制反转)|Spring IOC(控制反转)]] | 对象为什么要交给容器创建?BeanFactory/ApplicationContext 是什么? | 反射机制 | | [[2-Learning/04-Java/04-Spring/02-依赖注入(DI)|依赖注入(DI)]] | 容器怎么把依赖"塞"进对象?三种注入方式怎么选?循环依赖怎么解? | 反射 + IOC 篇 | | [[2-Learning/04-Java/04-Spring/03-Spring AOP(面向切面编程)|Spring AOP(面向切面编程)]] | 日志/事务这类"横切"逻辑怎么不侵入业务代码? | 动态代理 + OOP | | [[2-Learning/04-Java/04-Spring/04-Bean生命周期与三级缓存|Bean生命周期与三级缓存]] | Bean 从生到死经历了什么?循环依赖怎么解? | AOP + 三级缓存 | | [[2-Learning/04-Java/04-Spring/05-Spring事务管理|Spring事务管理]] | @Transactional 怎么回滚?失效场景有哪些? | AOP + 数据库事务 | ## 还没展开的(诚实清单) - ✅ Bean 生命周期与作用域 → 已拆 [[04-Bean生命周期与三级缓存|04-Bean生命周期与三级缓存]] - ✅ `@Transactional` 事务 → 已拆 [[05-Spring事务管理|05-Spring事务管理]] - Spring Boot / Spring MVC 体系(本分区只覆盖 Framework 核心,MVC 与 Boot 属应用层,与 05-项目区 SpringBoot 块统筹,等后续扩展) - 实践对应:鉴权与权限校验的工程落地 → [[01-权限校验最佳实践模型讲解|05-项目/05-最佳实践/06-权限校验]](RBAC 模型 + SecurityUtils),理论 ↔ 实践互链 --- ⬅️ [[07-并发高频面试题|07-并发高频面试题]] 🏠 [[00-Java|00-Java]] ➡️ [[01-Spring IOC(控制反转)|Spring IOC(控制反转)]]