Spring总览
定位说明
本篇是 04-Spring 分区入口。Spring 的两大地基:IoC/DI(对象交给容器管) 与 AOP(横切关注点抽离)——全部分区按此组织为五篇系统讲解。前置知识在 01-Java基础:Class 对象与反射机制、注解原理、动态代理——Spring 本质上就是这三样东西的工程化集大成。学习动线:本篇 → Spring IOC → 依赖注入 DI → Spring AOP → Bean生命周期与三级缓存 → 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 # 事务传播、隔离级别、常见坑(可选)
三篇怎么读
| 篇 | 回答的问题 | 前置知识 |
|---|---|---|
| Spring IOC(控制反转) | 对象为什么要交给容器创建?BeanFactory/ApplicationContext 是什么? | 反射机制 |
| 依赖注入(DI) | 容器怎么把依赖"塞"进对象?三种注入方式怎么选?循环依赖怎么解? | 反射 + IOC 篇 |
| Spring AOP(面向切面编程) | 日志/事务这类"横切"逻辑怎么不侵入业务代码? | 动态代理 + OOP |
| Bean生命周期与三级缓存 | Bean 从生到死经历了什么?循环依赖怎么解? | AOP + 三级缓存 |
| Spring事务管理 | @Transactional 怎么回滚?失效场景有哪些? | AOP + 数据库事务 |
还没展开的(诚实清单)
- ✅ Bean 生命周期与作用域 → 已拆 04-Bean生命周期与三级缓存
- ✅
@Transactional事务 → 已拆 05-Spring事务管理 - Spring Boot / Spring MVC 体系(本分区只覆盖 Framework 核心,MVC 与 Boot 属应用层,与 05-项目区 SpringBoot 块统筹,等后续扩展)
- 实践对应:鉴权与权限校验的工程落地 → 05-项目/05-最佳实践/06-权限校验(RBAC 模型 + SecurityUtils),理论 ↔ 实践互链
⬅️ 07-并发高频面试题 🏠 00-Java ➡️ Spring IOC(控制反转)
💬 评论