BeanFactory分层

package org.springframework.beans.factory;//分层工厂
public interface HierarchicalBeanFactory extends BeanFactory {//返回工厂的父工厂BeanFactory getParentBeanFactory();//这个工厂中是否包含这个Beanboolean containsLocalBean(String name);
}

测试代码

@Testpublic void testAutowireWithParent() throws Exception {DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();new XmlBeanDefinitionReader(xbf).loadBeanDefinitions(AUTOWIRE_CONTEXT);DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();MutablePropertyValues pvs = new MutablePropertyValues();pvs.add("name", "kerry");RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);bd.setPropertyValues(pvs);lbf.registerBeanDefinition("spouse", bd);xbf.setParentBeanFactory(lbf);doTestAutowire(xbf);}private void doTestAutowire(DefaultListableBeanFactory xbf) throws Exception {DependenciesBean rod1 = (DependenciesBean) xbf.getBean("rod1");TestBean kerry = (TestBean) xbf.getBean("spouse");// should have been autowiredassertEquals(kerry, rod1.getSpouse());}

调用了setParentBeanFactory设置BeanFactory,lbf中注册了spouse,所以在调用getBean时可以获取到spouse

HierarchicalBeanFactory相关推荐

  1. HierarchicalBeanFactory接口

    HierarchicalBeanFactory 提供父容器的访问功能.至于父容器的设置,需要找ConfigurableBeanFactory的setParentBeanFactory(接口把设置跟获取 ...

  2. Spring : HierarchicalBeanFactory父容器访问功能

    1.美图 2.概述 2.1 拓扑图 2.2 源码 //扩展了BeanFactory接口,提供了对父容器的访问功能 public interface HierarchicalBeanFactory ex ...

  3. Spring-beans-ListableBeanFactory/AutowireCapableBeanFactory/HierarchicalBeanFactory

    下面这个图说明了spring几个重要的Factory接口的关系,非常重要

  4. applicationcontext获取bean_Spring IoC之ApplicationContext

    概述 在 Spring之IoC理论一章中提到关于 IoC 的学习主要涉及到五大模块,从 Resource 和 ResourceLoader 用于资源管理开始,然后讲述 BeanDefinitionRe ...

  5. [Spring 深度解析]第6章 Spring的IoC容器系列

    6. Spring的IoC容器系列 ​ IoC容器为开发者管理对象之间的依赖关系提供了很多便利和基础服务.有许多IoC容器供开发者选择,SpringFramework的IoC核心就是其中一个,它是开源 ...

  6. [Spring 深度解析]第3章 核心容器

    第3章 ◄核心容器► ​ 在上一章节中,我们大致了解了Spring框架,并学习了控制反转(IOC)和面向切面编程(AOP)两个重要的编程思想,这一章我们将开始学习Spring框架中的核心容器. 本章主 ...

  7. Spring 框架的设计理念与设计模式分析

    Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring ...

  8. abstract interface 和 interface 没有区别

    前一段用到Spring的ApplicationContext接口,查看它提供的方法,打开jar包,看到的信息如下: Java代码  public abstract interface org.spri ...

  9. (转)spring源码解析,spring工作原理

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ Spring 的骨骼架构 Spring 总共有十几个组件,但是 ...

最新文章

  1. dubbo学习过程、使用经验分享及实现原理简单介绍
  2. 自己拿项目,软件设计开发,释放你的力量
  3. 当我们输入一条SQL查询语句时,发生了什么?
  4. Pycharm搜索文件名、符号名
  5. Ng-template寄宿方式
  6. 9本Java程序员必读的书
  7. html5中音频的标签,html5中的音频标签安全
  8. Hbase error: KeeperErrorCode = NoNode for /hbase/master错误
  9. aspx repeater 用法_ASP.NET-----Repeater数据控件的用法总结
  10. (计算机组成原理)第三章存储系统-第二节:基本的半导体原件和存储器芯片的原理
  11. MVC初学 - The type or namespace name 'DbContext' could not be found
  12. [zz]C#中的Type类和Assembly类
  13. 微信小程序生成小程序码,如何在开发版本调试?
  14. 【原创】MySQL 5.6 MRR 的存储过程完美诠释
  15. 港口信息化、智能化、自动化产品设计想法---5
  16. ios视频实现H264硬编码和软编码编译ffmpeg库及环境搭建(附完整demo)
  17. 跨境电商收款之派安盈Payoneer个人账号收款教程
  18. 给文本框添加灰色提示文字
  19. 高可用性GRE+IPSEC中心—分支
  20. Lumerical---绘制一个三维的四棱台

热门文章

  1. C++ Applications
  2. 分块内存映射处理大文件-例子
  3. linux thrift 安装目录,Linux下安装Thrift
  4. github图---小章鱼图标
  5. Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构
  6. 高并发大流量专题---6、独立图片服务器的部署
  7. RestFramework之认证组件
  8. mysql_表_操作
  9. java --replaceAll方法
  10. Php 与 Json