Spring Bean 与 IOC 的关系
| 概念 | 定义 | 角色 |
|---|---|---|
| IOC (控制反转) | 一种设计思想/设计模式,将对象的创建、依赖注入、生命周期管理的控制权从程序代码转移到外部容器 | 容器/框架的职责 |
| Spring Bean | Spring IOC 容器管理的对象实例,是应用程序的组件 | 被管理的对象 |

- 1、容器去读取 Bean 的配置信息。通过
@Autowired这类注解注入引用依赖关系,在容器中会被包装成BeanDefinition,也被叫做 Bean 注册表。 - 2、根据 Bean 注册表,实例化 Bean 信息
- 3、完成实例化的 Bean 会存放在 IOC 容器里面,Bean 会常驻在 IOC 容器,直到 IOC 容器关闭或者被清理。在 IOC 中的 Bean 数据结构,也叫做 Bean 缓存池,其实是一个 Map 去维护。
- 4、业务程序想要使用 Bean 时,IOC 完成 Bean 的注入。
总结: Spring Bean 是 Spring IOC 思想的实现载体和具体表现,IOC 通过管理 Bean 的生命周期和依赖关系来实现控制反转。
剑鸣秋朔