HierarchicalBeanFactory是Spring框架中的一个接口,它表示具有层次结构的BeanFactory。
BeanFactory是一种用于创建和管理 bean 的容器。HierarchicalBeanFactory允许将多个 BeanFactory 组成层次结构,其中包括一个父级 BeanFactory 和零个或多个子级 BeanFactory。
HierarchicalBeanFactory扩展了BeanFactory接口,并为处理层次结构操作提供了以下方法:
- getParentBeanFactory():获取当前 BeanFactory 的父级 BeanFactory。
- containsLocalBean():判断当前 BeanFactory 中是否包含指定名称的本地(非层次结构中获取的)Bean。
通过使用HierarchicalBeanFactory,可以构建更具灵活性的BeanFactory层次结构,每个级别可以自定义其特定的bean配置,使得整个容器更好地满足不同层级的组件需求。
public interface HierarchicalBeanFactory extends BeanFactory {}
这是一个可以作为层次结构一部分的bean工厂的子接口。
对于允许以可配置方式设置父级的bean工厂,可以在 ConfigurableBeanFactory
接口中找到相应的 setParentBeanFactory
方法。
@Nullable
BeanFactory getParentBeanFactory();
返回父级Bean工厂,如果不存在则返回null。
boolean containsLocalBean(String name);
返回本地Bean工厂是否包含给定名称的bean,忽略在祖先上下文中定义的bean。
该方法是对 containsBean
方法的一种替代方式,它会忽略祖先Bean工厂中具有给定名称的bean。