Spring IOC的理解

IOC:控制反转(inversion of control)

主要有两种实现:DL和DI

Spring的IOC使用的是DI(依赖注入)

主要涉及两个容器:

低级容器:BeanFactory,就是个HashMap,Key是BeanName,Value是Bean的实例

高级容器:ApplicatonContext

Spring IOC的初始化过程,就是ClassPathXmlApplicationContext的构造过程

总结IOC的工作流程:

1、加载配置文件(xml),解析成BeanDefinition放在BeanFactory容器中

2、调用getBean时,从BeanDefinition所属的BeanFactory中,拿出Class对象进行实例化,同时,如果有依赖关系,将递归调用getBean方法,完成依赖注入;

ApplicationContext容器会调用refresh方法刷新BeanFactory工厂的所有配置。

通过以上简明扼要的总结,对Spring IOC有一个全面的认识,具体细节有兴趣可以查看一下Spring 源码。

原文地址:https://www.cnblogs.com/renyuanwei/p/9808875.html