Spring源码解读
Spring源码分析
ONROAD0612
不问前程何如,但愿落幕无悔
展开
-
Spring配置文件解析(三)BeanDefinitionDocumentReader源码分析
1 概述 前面我们分析了BeanDefinitionReader的源码(Spring配置文件解析(二)BeanDefinitionReader源码分析 ),我们知道BeanDefinitionReader的作用其实就是将Spring的Bean定义的XML文件最终解析成Document对象,然后将这个对象交给BeanDefinitionDocumentReader来完成最终的XML文档的解析和Be...原创 2018-12-21 17:29:29 · 308 阅读 · 0 评论 -
Spring配置文件解析(二)BeanDefinitionReader源码分析
1 概述 这一篇文章的作用主要是接着上篇文章(Spring配置文件解析(一)ClassPathXmlApplicationContext源码分析)继续分析在Spring中配置文件的加载和解析,但是在分析之前,我们有必要对BeanDefinitionReader家族进行一个简单地介绍。 这个BeanDefinitionReader接口是bean定义读取的基础接口,它的函数根据不同的资源获取方式进行...原创 2018-12-21 11:43:55 · 340 阅读 · 0 评论 -
Spring配置文件解析(一)ClassPathXmlApplicationContext源码分析
1 概述 针对前面的SpringIOC的源码分析,我们看见了在整个Spring容器初始化的时候,配置文件的解析是相当重要的,所以从这篇文章开始,我们将对配置文件的解析进行深入的分析。 这里我们仅仅拿ClassPathXmlApplicationContext类来进行分析,因为FileSystemXmlApplicationContext的配置文件解析的过程和ClassPathXmlApplica...原创 2018-12-20 16:12:44 · 899 阅读 · 1 评论 -
Spring源码之IOC(五)ApplicationContext源码分析
1 概述 ApplicationContext即应用上下文,它是建立在BeanFactory基础之上的 ApplicationContext有两个主要的实现类:ClassPathXmlApplicationContext:默认从类路径加载配置文件,还有FileSystemXmlApplicationContext:默认从文件系统中装载配置文件, 通常我们使用的比较多的是ClassPathXmlA...原创 2018-12-19 17:09:43 · 383 阅读 · 0 评论 -
Spring源码之IOC(四)BeanFactory派生类
1 概述 从前面的文章(Spring源码之IOC(三)BeanFactory源码分析)我们学习到BeanFactory提供了Spring bean容器的基础入口,也就是我们可以通过BeanFactory来获取到bean。而其子类通过扩展BeanFactory来提供了更加丰富的功能,接下来我们就来看一看子类到底提供了哪些功能。 2 UML类图 3 派生类详解 3.1 Hierarchical...原创 2018-12-14 10:02:54 · 265 阅读 · 0 评论 -
Spring源码之IOC(三)BeanFactory源码分析
1 概述 这是进入Spring bean容器的基础接口,她的子类(例如:ListableBeanFactory、ConfigurableBeanFactory)还提供了更多个用处,我们后面会对其子类进行分析。 这个接口的实现类拥有beanDefinition对象,每个beanDefinition对象都和一个唯一的name对应,并将这种对应关系用Map保存起来。 通过这个BeanFactory我们...原创 2018-12-14 09:36:41 · 260 阅读 · 0 评论 -
Spring源码之IOC(二)BeanDefinition派生类
1 概述 通过前面的文章,我们对BeanDefinition接口有个深入的认识,我们知道BeanDefinition提供了bean的特性的封装,可以通过BeanDefinition对Bean的属性访问和修改,获取是否是抽象类等属性。针对更多的功能,我们就可以通过使用BeanDefinition的派生类来获取。 2 UML类图 我们来看一下BeanDefinition有哪些派生类,以及这些派生...原创 2018-12-10 15:33:03 · 456 阅读 · 0 评论 -
Spring源码之IOC(一)BeanDefinition源码解析
1 概述 Bean的定义主要是由BeanDefinition来描述的。BeanDefinition是Spring中包装bean的数据结构,她描述了一个bean实例属性、构造参数。当然针对她的具体实现类提供了更加丰富的功能。这仅仅是一个基本的接口,这个接口的主要目的是允许修改和获取bean的属性和元数据。 2 类关系 针对BeanDefinition,我们首先来看一下UML类图。 从上图...原创 2018-12-04 19:55:42 · 391 阅读 · 0 评论 -
Spring源码之IOC(六)IOC容器初始化和Bean定义加载分析
控制反转(IOC):将对象的创建和依赖关系交给容器,我们需要什么就去容器取。举一个比较简单的例子,如果我们拥有一个工厂,我们需要什么的时候我们就直接告诉工厂, 而不需要我们去自己制造。针对对象的创建我们都交给容器了,当我们需要某个对象的时候就采用注入的方式获得对象,所以这就是控制反转和依赖注入。 首先我们来关注一个接口,源码如下: package org.springframe...原创 2018-03-11 15:55:37 · 419 阅读 · 0 评论