Spring版本5.1.x
简介
- 在Spring框架中,BeanDefinitionRegistry是一个接口,它主要用于向注册表中注册BeanDefinition实例,完成注册的过程。该接口的主要方法是registerBeanDefinition,用于将一个BeanDefinition实例注册到注册表中。
- BeanDefinitionRegistry的具体实现类是DefaultListableBeanFactory,它是Spring框架中用于管理Bean的工厂类。DefaultListableBeanFactory实现了BeanDefinitionRegistry接口,提供了向注册表中注册BeanDefinition实例的方法。通过使用DefaultListableBeanFactory,可以将BeanDefinition实例注册到Spring容器中,并由Spring容器负责管理这些Bean实例的生命周期。
- 总结来说,BeanDefinitionRegistry是Spring框架中用于注册BeanDefinition实例的接口,而DefaultListableBeanFactory是实现该接口的具体类,用于管理Bean实例的创建和销毁等操作。
继承关系
源码
public interface BeanDefinitionRegistry extends AliasRegistry {
/**
* 注册beanDefinition
*/
void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
throws BeanDefinitionStoreException;
/**
* 根据beanName移除beanDefinition
*/
void removeBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
/**
* 根据beanName获取beanDefinition
*/
BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
/**
* 是否包含beanDefinition
*/
boolean containsBeanDefinition(String beanName);
/**
* 获取容器中所有的beanNames
*/
String[] getBeanDefinitionNames();
/**
* 获取容器中bean的数量
*/
int getBeanDefinitionCount();
/**
* 判断bean是否正在被使用,其实就是判断容器中,依赖中,别名中是否存在bean
*/
boolean isBeanNameInUse(String beanName);
}