HierarchicalBeanFactory接口

Love The Way You Lie 2023-08-17 16:04 163阅读 0赞

在这里插入图片描述
HierarchicalBeanFactory 提供父容器的访问功能.至于父容器的设置,需要找ConfigurableBeanFactory的setParentBeanFactory(接口把设置跟获取给拆开了!).
HierarchicalBeanFactory源码具体:

1、第一个方法返回本Bean工厂的父工厂。这个方法实现了工厂的分层。

2、第二个方法判断本地工厂是否包含这个Bean(忽略其他所有父工厂)。这也是分层思想的体现。

总结:这个工厂接口非常简单,实现了Bean工厂的分层。这个工厂接口也是继承自BeanFacotory,也是一个二级接口,相对于父接口,它只扩展了一个重要的功能——工厂分层。

  1. /** * Sub-interface implemented by bean factories that can be part * of a hierarchy. * * <p>The corresponding {@code setParentBeanFactory} method for bean * factories that allow setting the parent in a configurable * fashion can be found in the ConfigurableBeanFactory interface. * * @author Rod Johnson * @author Juergen Hoeller * @since 07.07.2003 * @see org.springframework.beans.factory.config.ConfigurableBeanFactory#setParentBeanFactory */
  2. public interface HierarchicalBeanFactory extends BeanFactory {
  3. /** * Return the parent bean factory, or {@code null} if there is none. */
  4. // // 返回本Bean工厂的父工厂
  5. BeanFactory getParentBeanFactory();
  6. /** * Return whether the local bean factory contains a bean of the given name, * ignoring beans defined in ancestor contexts. * <p>This is an alternative to {@code containsBean}, ignoring a bean * of the given name from an ancestor bean factory. * @param name the name of the bean to query * @return whether a bean with the given name is defined in the local factory * @see BeanFactory#containsBean */
  7. // 本地工厂(容器)是否包含这个Bean
  8. boolean containsLocalBean(String name);
  9. }

发表评论

表情:
评论列表 (有 0 条评论,163人围观)

还没有评论,来说两句吧...

相关阅读