看第二遍,发现有些东西都忘了,而且还是有些新收获。

按照bean的生命周期的顺序,总结一下相关的东西。

图片来源-spring揭秘

1.BeanFactory是基础IOC容器,ApplicationContext在BeanFactory的基础上构建,是相对比较高级的容器实现,除了拥有BeanFactory的所有支持,ApplicationContext还提供了其他高级特性,比如事件发布、国际化信息支持等,支持web应用。

2.BeanDefinitionReader读取配置文件生成BeanDefinition。

3.每一个受管的对象,在容器中都会有一个BeanDefinition的实例(instance)与之相对应,该BeanDefinition的实例负责保存对象的所有必要信息,

包括其对应的对象的class类型、是否是抽象类、构造方法参数以及其他属性等。RootBeanDefinition、ChildBeanDefinition实现BeanDefinition 。

4.DefaultListableBeanFactory实现BeanFactory、BeanDefinitionRegistry
BeanDefinitionRegistry 负责注册管理,BeanFactory 负责管理bean。

5.FactoryBean只是一种bean,getObject()会返回factory生产的bean。

6.Spring框架提供了一个BeanFactoryAware接口,容器在实例化实现了该接口的bean定义的过程中,会自动将容器本身注入该bean。这样,该bean就持有了它所处的BeanFactory的引用。

7.Spring提供了一种叫做BeanFactoryPostProcessor的容器扩展机制。该机制允许我们在容器实 例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做相应的修改。
PropertyPlaceholderConfigurer是BeanFactoryPostProcessor的一种实现。
通常情况下,我们不想将类似于系统管理相关的信息同业务对象相关的配置信息混杂到XML配置文件中,以免部署或者维护期间因为改动繁杂的XML配置文件而出现问题。我们会将一些数据库连接信息、邮件服务器等相关信息单独配置到一个properties文件中,这样,如果因系统资源变动的话,只需要关注这些简单properties配置文件即可。
PropertyPlaceholderConfigurer允许我们在XML配置文件中使用占位符(PlaceHolder), 并将这些占位符所代表的资源单独配置到简单的properties文件中来加载。

8.BeanPostProcessor的概念容易与BeanFactoryPostProcessor的概念混淆。但只要记住BeanPostProcessor是存在于对象实例化阶段,而BeanFactoryPostProcessor则是存在于容器启动阶段, 这两个概念就比较容易区分了。
与BeanFactoryPostProcessor通常会处理容器内所有符合条件的BeanDefinition类似,BeanPostProcessor会处理容器内所有符合条件的实例化后的对象实例。

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

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. java set集合转数组_Java数组【array】与集合【list】的相互转换
  2. HTML5学习之语义化标签
  3. 测试Live Writer
  4. sap.m.library acts as one of the two most core framework library
  5. 张善友:自由之精神,中国之队长
  6. e-r模型教案高中计算机,《ER模型1》[数据库][计算机]教案.doc
  7. 电信业的100个随想
  8. 02 理解==与Equals()的区别及用法 1214
  9. CSS进阶(二)——特性
  10. ODBC连接oracle 10g 客户端
  11. 数据结构笔记(二十六)-- 图的存储
  12. python import system_[Python Basics]引用系统(The Import System)
  13. php huoqv 多选,镊噍虫刻蘖舌#joquycg
  14. keil 5(C51)下载安装
  15. matlab读写xlsx文件
  16. java识别答题卡纸_opencv 识别答题卡
  17. 几个简单的小功能,能提高微信群活跃度?
  18. MAC OS搭建pyhton+selenium+pycharm实现web自动化测试
  19. 记一个悲剧的英文逻辑题笔试
  20. C#获取系统空闲时间

热门文章

  1. 服务器装系统蓝屏怎么办,重装系统蓝屏怎么办
  2. 【一】最新多智能体强化学习方法【总结】
  3. IDEA 如何根据代码自动生成类图
  4. delphi 访问https 接口
  5. matlab前馈仿真,基于前馈神经网络的自适应PID控制器仿真研究(MATLAB仿真程序)
  6. JavaScript高级程序设计(第2版)pdf
  7. 如何在HTML中使用JavaScript代码
  8. 《CSDN实训》工时统计(未完)
  9. Windows Server 2003 安装教程
  10. Ubuntu20安装gcc6.3.0