bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。这些 bean 是由用容器提供的配置元数据创建的
Bean的概念
我们理解一个概念,要从几个问题出发
- 它的出现解决了什么问题
实例资源化
- 它的特点
作为一种统一的资源被容器所管理
Bean的使用
一切业务的实现都是围绕Bean的。
我们直接梳理串联一下一个Bean的知识点:
当我们谈到Bean,我们所说的是Bean实例,一个Bean的生命周期是怎样的。
(1)Bean的起点是Bean配置元数据,通过Bean配置元数据(不管你是怎么来的)统一得到BeanDefinition
(2)根据BeanDefinition创建Bean实例
(3)使用Bean实例
Bean配置元数据
我们知道一个类到一个对象的过程一定需要有值的支撑,我们通常是通过构造函数或者set方法等等,这是类到对象的转化。
Bean先拿到Bean配置元数据(值),然后根据这个值去创建Bean实例。这个过程是Bean的实例化过程。
Spring IoC 容器完全由实际编写的配置元数据的格式解耦。有下面三个重要的方法把配置元数据提供给 Spring 容器:
- 基于 XML 的配置文件
- 基于注解的配置
- 基于 Java 的配置
三种方式的实现对应这三种路线转化为BeanDefinition。