上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

2019年1月4日

BeanFactory的后处理

摘要: 前言 BeanFactory作为Spring中容器功能的基础,用于存放所有已经加载的bean,为了保证程序上的高可扩展性,Spring针对BeanFactory做了大量的扩展,比如我们熟知的PostProcessor等都是在这里实现的。 激活注册的BeanFactoryPostProcessor 在 阅读全文

posted @ 2019-01-04 15:43 AoTuDeMan 阅读(294) 评论(0) 推荐(0) 编辑

2019年1月3日

功能扩展

摘要: 在进入函数prepareBeanFactory前,Spring已经完成了对配置的解析,而ApplicationContext在功能上的扩展也由此展开 也就是对BeanFactory进行各种功能上的填充。 功能填充对BeanFactory 上面的函数主要进行了几个方面的扩展: (1)增加对SPEL语言 阅读全文

posted @ 2019-01-03 20:23 AoTuDeMan 阅读(306) 评论(0) 推荐(0) 编辑

2019年1月2日

加载BeanFactory

摘要: 前言 上一篇文章讲述了ApplicationContext扩展功能的之一:环境准备。这篇文章接着讲述ApplicationContext的扩展功能 加载BeanFactory,也就是初始化BeanFactory,并进行XML文件的读取。 加载BeanFactory obtainFreshBeanFa 阅读全文

posted @ 2019-01-02 21:11 AoTuDeMan 阅读(252) 评论(0) 推荐(0) 编辑

2018年12月29日

环境准备

摘要: 前言 环境准备是ApplicationContext扩展功能refresh函数中的第一个步骤,接下来我们就详细的看看准备了什么? 环境准备 prepareRefresh函数主要是做些准备工作,例如对系统属性及环境变量的初始化及验证。 最后的两句代码才是关键,代码中没有什么逻辑处理,initPrope 阅读全文

posted @ 2018-12-29 10:47 AoTuDeMan 阅读(365) 评论(0) 推荐(0) 编辑

2018年12月28日

初识ApplicationContext

摘要: 前言 前面的文章一直是以BeanFactory接口以及它的默认实现类XMLBeanFactory为例进行分析,但是,在Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ApplicationContext和BeanFactory的区别 阅读全文

posted @ 2018-12-28 21:06 AoTuDeMan 阅读(203) 评论(0) 推荐(0) 编辑

2018年12月27日

初始化bean和销毁bean的扩展

摘要: 前言 前两篇文章创建bean和属性注入已经讲述了创建bean的前三个步骤,这篇文章讲述的是创建bean的最后一个步骤 初始化bean。 初始化bean 在bean的配置中有一个init-method的属性,这个属性的作用是在bean实例化前调用init-method指定的方法来根据用户业务进行相应的 阅读全文

posted @ 2018-12-27 20:53 AoTuDeMan 阅读(223) 评论(0) 推荐(0) 编辑

2018年12月26日

属性注入

摘要: 前言 上一篇文章创建bean讲述了创建bean的第一二个步骤,这篇文章接着讲述创建bean的第三个步骤 属性注入。 属性注入 在了解循环依赖和创建bean的时候,我们曾经经常反复的提到了populateBean这个函数,这个方法的作用就是对属性进行填充,那么究竟是如何实现填充的呢? 分析上述代码的逻 阅读全文

posted @ 2018-12-26 21:11 AoTuDeMan 阅读(612) 评论(0) 推荐(0) 编辑

2018年12月25日

创建bean

摘要: 前言 上一篇文章讲述了循环依赖以及Spring中的循环依赖的处理方式后,我们接着准备创建bean这篇文章来继续讲述bean的创建,先回顾一下(截取部分createBean代码): 可以看出在经历过resolveBeforeInstantiation方法后,上述代码有两个返回途径,如果创建了代理或者说 阅读全文

posted @ 2018-12-25 21:40 AoTuDeMan 阅读(294) 评论(0) 推荐(0) 编辑

2018年12月21日

循环依赖

摘要: 定义 什么是循环依赖?循环依赖就是循环引用,就是两个或者多个bean相互之间的持有对方,比如TestA引用TestB,TestB引用TestC,TestC引用TestA,这样它们最终反映为一个环。这里需要强调一点,此情形不是循环调用,循环调用是方法之间的环调用。循环引用如下图: 循环调用是无法解决的 阅读全文

posted @ 2018-12-21 17:05 AoTuDeMan 阅读(1503) 评论(0) 推荐(0) 编辑

2018年12月20日

准备创建bean

摘要: 准备创建bean 经过了查看那么多的源码,我们或多或少的能发现一些规律,比如:一个函数中不可能完成所有的逻辑,一个真正干活的函数是以do开头的,例如doGetObjectFromFactoryBean。这篇文章接着上篇文章获取单例讲述,所以先来看看createBean函数中做了哪些准备工作: 从上述 阅读全文

posted @ 2018-12-20 15:47 AoTuDeMan 阅读(209) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

导航