BeanDefinitionRegistry接口繼承了AliasRegistry,在AliasRegistry的基礎上,增加了對BeanDefinition的各種增刪改查的操作,BeanDefinition的分析可以看上一篇介紹Spring源碼分析-IOC之BeanDefinition
public interface BeanDefinitionRegistry extends AliasRegistry {
//將beanDefinition註冊爲指定的beanName
void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
throws BeanDefinitionStoreException;
//移除指定名稱的BeanDefinition
void removeBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
//獲得指定名稱的BeanDefinition
BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
//判斷是否包含指定名稱的BeanDefinition
boolean containsBeanDefinition(String beanName);
//獲得所有BeanDefinition的名稱
String[] getBeanDefinitionNames();
//獲得BeanDefinition的數量
int getBeanDefinitionCount();
//判斷指定名稱是否已經存在
boolean isBeanNameInUse(String beanName);
}
此處只是簡單的介紹下下接口的API,具體的在Spring中應用需要結合實現類,在介紹具體的實現類的時候,我們會一步步跟蹤源代碼.