一、BeanFactoryPostProcessor这个是spring容器的拓展之一,其目的是在容器初始化完成之前,通过beanFactory对上下文进行进行操作。 二、常用场景,需要对beanDefinition做处理,提供获取bean的方式。基本上涉及到的容器的加载修改,都可以操作。 三、实现方 ...
分类:
编程语言 时间:
2018-09-19 18:03:34
阅读次数:
160
在前面博客中提到容器启动获得BeanDefinition对象中有一个scope 属性。该属性控制着bean对象的作用域。本章节介绍Bean的作用域及生命周期,了解bean是怎么来的又怎么没的。 一、Bean的作用域在Bean容器启动会读取bean的xml配置文件,然后将xml中每个bean元素分别转 ...
分类:
编程语言 时间:
2018-08-24 21:46:44
阅读次数:
194
BeanDefinition definition = registry.getBeanDefinition(name); if (definition instanceof AnnotatedBeanDefinition) { AnnotatedBeanDefinition annotatedDe... ...
分类:
编程语言 时间:
2018-08-11 22:06:25
阅读次数:
262
/** * A BeanDefinition describes a bean instance, which has property values, * constructor argument values, and further information supplied by * conc... ...
分类:
数据库 时间:
2018-08-09 23:10:31
阅读次数:
322
摘要:本文结合《Spring源码深度解析》来分析Spring 5.0.6版本的源代码。若有描述错误之处,欢迎指正。 对配置文件解析完成后,获取的beanDefiniton已经可以进行使用了,剩下的唯一工作就是注册了,也就是processBeanDefinition方法中的BeanDefinition ...
分类:
编程语言 时间:
2018-07-28 11:57:26
阅读次数:
192
基本概念 BeanDefinitionDocumentReader ,该类的作用有两个,完成 BeanDefinition 的解析和注册 。 解析:其实是解析 Ddocument 的内容并将其添加到 BeanDefinition 实例的过程。 注册:就是将 BeanDefinition 添加进 Be ...
分类:
编程语言 时间:
2018-07-22 12:02:39
阅读次数:
180
基本概念 BeanDefinitionRegistry ,该类的作用主要是向注册表中注册 BeanDefinition 实例,完成 注册的过程。 它的接口定义如下: public interface BeanDefinitionRegistry extends AliasRegistry { // ...
分类:
编程语言 时间:
2018-07-22 12:02:23
阅读次数:
147
上次说到ApplicationContext加载BeanDefinition时会创建一个XmlBeanDefinitionReader,将XML解析、BeanDefinition加载委托给XmlBeanDefinitionReader。 首先看下XmlBeanDefinitionReader的类图: ...
分类:
编程语言 时间:
2018-07-15 19:36:48
阅读次数:
197
注册解析的BeanDefinition 配置文件解析完了,对于得到的beanDefinition已经可以满足后续的使用要求了,唯一还剩下的工作就是注册了,也就是processBeanDefinition函数中的BeanDefinitionReaderUtils.registerBeanDefinit ...
分类:
其他好文 时间:
2018-06-26 00:42:11
阅读次数:
301
Spring IOC BeanDefinition解析 IOC(Inversion of Control)即控制反转,是说创建对象的控制权进行了转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权利转移到Spring IOC容器。许多非凡的应用,都是由两个或者多个类通过彼此的合作依赖来实 ...
分类:
编程语言 时间:
2018-06-23 20:46:19
阅读次数:
170