1.  IoC Service Provider在这里是一个抽象出来的概念,它可以指代任何将IoC场景中的业务对象绑定到一起的实现方式。它可以是一段代码,也可以是一组相关的类,甚至可以是比较通用的IoC框架或者IoC容器实现。Spring的IoC容器就是一个提供依赖注入服务的IoC Service Provider。

IoC Service Provider 的职责 1.业务对象的构建管理。   2. 业务对象间的依赖绑定。

2. Spring的ioc容器只不过是Ioc Service Provider的其中一种实现方式。

3.  Spring提供了两种容器类型: BeanFactory和ApplicationContext。

BeanFactory,顾名思义,就是生产Bean的工厂。既然Spring框架提倡使用POJO,那么把每个业务对象看作一个JavaBean对象,或许更容易理解为什么Spring的IoC基本容器会起这么一个名字。

4.     BeanFactory只是一个接口,我们最终需要一个该接口的实现来进行实际的Bean的管理,DefaultListableBeanFactory就是这么一个比较通用的BeanFactory实现类。 DefaultListableBeanFactory除了间接地实现了BeanFactory接口,还实现了BeanDefinitionRegistry接口,该接口才是在BeanFactory的实现中担当Bean注册管理的角色。

基本上, BeanFactory接口只定义如何访问容器内管理的Bean的方法,各个BeanFactory的具体实现类负责具体Bean的注册以及管理工作。BeanDefinitionRegistry接口定义抽象了Bean的注册逻辑。通常情况下,具体的BeanFactory实现
类会实现这个接口来管理Bean的注册。

@Test
public void test05(){AbstractBeanDefinition someService = new RootBeanDefinition(SomeServiceImpl.class);System.out.println(someService.getBeanClassName());DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();// 将bean定义注册到容器中beanFactory.registerBeanDefinition("someService", someService);// 从容器中获取bean实例ISomeService s = (ISomeService)beanFactory.getBean("someService");s.doFirst();}

《spring揭秘》读书笔记二相关推荐

  1. 《Docker 技术入门与实践》-读书笔记二

    <Docker 技术入门与实践>-读书笔记一 <Docker 技术入门与实践>-读书笔记二 一.数据管理 用户在使用 Docker 的过程中,往往需要能查看容器内应用产生的数据 ...

  2. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

  3. 测试工程师全栈技术进阶与实践读书笔记

    第一章 软件测试基础知识精要(上) 1.1 从"用户登录"测试谈起 1.1.1 功能测试用例 1.1.2 更多的测试用例 1.1.3 功能性需求与非功能性需求 对显式功能性需求的验 ...

  4. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目

    文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...

  5. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  6. 【Docker技术入门与实践(第2版)】Docker入门_学习笔记

    第一章 1 Docker入门须知 1.1 Docker基本知识 Docker是基于Go语言实现的开源容器项目,诞生于2013年年初,最初发 起者是dotCloud公司.Docker自开源后受到广泛的关 ...

  7. python编程从入门到实践读书笔记-《Python编程:从入门到实践》项目部分读书笔记(二)...

    鸽了一个暑假没有更新,现在趁着还没开学更一下.咕咕咕 上期作业: 请创建一个Django项目,命名为Blog,建不建立虚拟环境随便你,最后本地跑成了就行. 步骤: ①在需要创建工程的文件夹下打开cmd ...

  8. python基础学习[python编程从入门到实践读书笔记(连载二)]:外星人入侵项目

    第一版游戏demo 添加计分系统:中间是最高得分,右边是本次得分. 显示余下的飞船数 主函数如下,完整程序将上传到笔者的github:https://github.com/shizhengLi/lea ...

  9. 深入浅出Istio:Service mesh快速入门与实践-读书笔记(By GisonWin)

    01 服务网格历史 (以后补充) 02 服务网格的基本特性 连接 微服务错综复杂,要完成其业务目标,连接问题是首要问题.连接存在于所有服务的整个lifcecycle中,用于维持服务的运行. 安全 保障 ...

  10. 深度学习框架Pytorch入门与实践——读书笔记

    2 快速入门 2.1 安装和配置 pip install torch pip install torchvision#IPython魔术命令 import torch as t a=t.Tensor( ...

最新文章

  1. UML基础教程(内部使用教程) 非常不错的ppt!!强烈推荐
  2. PMCAFF产品经理培训课火热报名中,手慢无!
  3. 锐捷网络GSN全局安全政府行业解决方案
  4. 【洛谷】P2179 [NOI2012]骑行川藏
  5. 推荐原创Python号主:猪哥
  6. php在线模拟高考志愿,高考志愿模拟填报系统
  7. 三星手机 java_如何在三星手机上安装Java ME应用程序?
  8. 调节Win7系统任务栏预览窗口大小的方法
  9. 一次函数(正比例函数)公式的解析式与C语言代码实现
  10. 华为IPD研发项目管理5项精髓
  11. DW的ajax简单应用,你离高薪 offer 只差一个接口自动化入门,我是认真的
  12. oracle中文转全拼音,Oracle数据库之oracle汉字转拼音
  13. HT1621B显示驱动LCD显示驱动芯片- SSOP48
  14. 计算机网络技术毕业生实习报告_20XX计算机网络技术毕业生实习报告1000字
  15. 计量经济学笔记2---最大似然估计
  16. 如何在word中的框中打钩、打叉
  17. 脚手架的安装及配置过程
  18. 你的私密照片可能正被“合法”观看
  19. 软件测试的目的和意义
  20. 信息技术应用现状的趋势

热门文章

  1. Axure 部件的交互样式
  2. Jan 13 - Bulls and Cows; String; HashSet;
  3. java多态性详解——父类引用子类对象
  4. DataSet.Relations一例
  5. 【转载】windows mobile 上隐藏和关闭X以及OK的处理
  6. 关于ASP.NET控件DropDownList控件的问题
  7. 二叉树相关性质以及数学证明
  8. 输出值(4)输出值的应用
  9. jquery总结06-动画事件02-上卷下拉动画
  10. EndNote(二)之英文引文导入方式