功能说明
用于存放BeanDefinition的地方。当beanFactory需要创建bean时,从此registry中获取beanDefinition。
主要子类
接口的主要实现是DefaultListableBeanFactory
继承关系
在此处只分析DefaultListableBeanFactory关于BeanDefinitionRegistry的实现与继承关系具体如下:
BeanDefinitionRegistry
主要定义的接口有:
registerBeanDefinition 注册bean定义
removeBeanDefinition 删除bean定义
getBeanDefinition 通过名称获取bean定义
getBeanDefinitionNames 获取所以bean定义
主要代码说明
在 DefaultListableBeanFactory中通过成员变量。来保存所以的beanDefinition的。
/** Map of bean definition objects, keyed by bean name. */
private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<>(256);
而其中所以的方法都是通过对这个map的操作进行。