Spring的IOC原理

一.IOC概念

IOC:控制反转.即把对象的创建交给Spring进行管理


二.IOC操作两部分

1.IOC的配置文件

2.IOC的注解方式


三.IOC的底层原理

1.IOC底层原理使用的技术

(1)xml配置文件
(2)dom4j解析xml
(3)工厂模式
(4)反射


2.首先画图分析,再详细解释IOC底层原理

IOC底层原理过程:
Spring的IOC原理
如上图,我们需要创建UserService,首先我们创建一个工厂类,定义一个静态方法,得到UserService对象
那这个过程是如何实现的?我们看下一张图片:

Spring的IOC原理

1.首先我们定义一个接口(比如说YonyouBeanFactory),里面有一个 getBean(String id)方法,返回值类型为Object

2.我们再定义一个实现类(比如说YonyouClassPathXmlApplicationContext) 这个类实现了
YonyouBeanFactory, 我们再这个类中就能实现对象的创建:
(1)首先传入配置文件到内存(beans.xml)
(2)解析xml文件
(3)实例化bean对象,遍历List<YonyouBean>实例化每个元素,可以通过反射实例化元素
(4)将实例化后的内容放入map中
Map<id,实例化对象>
最后通过id获取实例化对象map.get(id)
(5)对外提供getBean方法