Skip to content
章节导航

Spring Bean 与 IOC 的关系

概念定义角色
IOC (控制反转)一种设计思想/设计模式,将对象的创建、依赖注入、生命周期管理的控制权从程序代码转移到外部容器容器/框架的职责
Spring BeanSpring 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 的生命周期和依赖关系来实现控制反转。