IOC容器是Spring框架的一个关键组件,负责管理Java对象的生命周期、配置信息以及对象之间的依赖关系。通过IOC容器,实现了控制反转,即将对象的创建、配置、装配的控制权从应用代码中反转到容器中。 2. IOC容器的类型 在Spring中,有多种类型的IOC容器,包括BeanFactory和ApplicationContext。BeanFactory是最基本的容器,而Applicat...
其中的关键方法是finishBeanFactoryInitialization(),在这个方法中,会对刚才注册的Bean(不延迟加载的),进行实例化,所以也是一个核心方法。 bean.xml的处理 从整体上介绍完了流程,接下来就重点看obtainFreshBeanFactory()方法,上文说到,在这个方法里,完成了配置文件的加载、解析、注册 代码语言:javascript 复制 protectedC...
这里要说明一下,ApplicationContext并不自己负责配置文件的加载、解析、注册,而是将这些工作委托给XmlBeanDefinitionReader来做。 loadBeanDefinitions(beanDefinitionReader); 这行代码,就是Bean定义读取实际发生的地方。这里的工作,主要是XmlBeanDefinitionReader来完成的,下一篇博客会详细介绍这个过程。 loadBeanDefinitions ...
前提概要一、结合生活案例看Spring-IOC容器加载流程1.1 spring-IOC(控制反转)概念1.1.1 控制反转1.1.2依赖注入1.2 Spring-IOC加载流程详细分析1.3 一些后置处理器案例1.3.1 BeanFactoryPostProcessor bean工厂后置处理器1.4 bean初始化阶段会回调--Aware案例1.4.1 BeanNameAware1.5 涉及到的几个问题1.5.1 描述下BeanFacto...
一、spring-ioc容器加载流程图 为了能够更好的理解源码,我把上篇笔记的流程图贴过来 二、spring-Ioc容器加载过程源码分析 Spring 最重要的概念是 IOC 和 AOP,其中IOC又是Spring中的根基,本文要说的 IOC 总体来说有两处地方最重要,一个是创建 Bean 容器,一个是初始化 Bean。
这个过程基本上是 bean 本身通过使用类的直接构造或诸如服务定位器模式之类的机制来控制其依赖项的实例化或位置的逆过程(因此得名,控制反转)。 org.springframework.beans 和 org.springframework.context 包是 Spring Framework 的 IoC 容器的基础。 BeanFactory 接口提供了一种能够管理任何类型对象的高级配置机制。
Spring源码系列02——IOC容器加载过程 public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) { this(); //将配置类注册到容器中 this.register(annotatedClasses); //初始化容器 this.refresh(); } 1. 2. 3. 4. 5. 6. 7.
//如果是servlet 容器,需要将servletConfig 加载进 environment //初始化 earlyApplicationEvents 可以尽早执行的事件,等到 事件传播器一旦可以使用就去执行。 // Prepare this context for refreshing. prepareRefresh(); //构建beanFactory,可以发现实际上 new DefaultListableBeanFactory。可以配置beanFactory 是否支持 allow...