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);}