一、BeanDefinition
目的: 储存Bean对象的所有属性
描述一个Bean对象的所有属性,如name \class\scope…
这些信息可以指导Spring如何创建Bean,包括Bean的构造函数参数,属性值,初始化方法,静态工厂方法名称等等
二、BeanDefinitionRegistry
目的: 注册和管理BeanDefinition
容器中所有的BeanDefinition需要存储起来,本质是使用concurrentHashMap储存,但是还需要对存储的BeanDefinition增删查等一系列的操作,所以把这块给封装成 注册器 Registry 。
三、BeanDefinitionReader
目的: 读取Bean的配置信息的工具
从资源文件中读取配置信息,并将其转换为BeanDefinition对象,然后注册到Spring容器中。这些资源文件可以是XML文件、注解或其他配置方式。
四、RootBeanDefinition
目的: 描述Bean定义信息
是Spring BeanFactory运行时统一的BeanDefinition视图,代表了一个merged bean definition,是Spring BeanFactory在运行时支持的一个特殊的bean。