Spring的IOC原理
一.IOC概念
IOC:控制反转.即把对象的创建交给Spring进行管理
二.IOC操作两部分
1.IOC的配置文件
2.IOC的注解方式
三.IOC的底层原理
1.IOC底层原理使用的技术
(1)xml配置文件
(2)dom4j解析xml
(3)工厂模式
(4)反射
2.首先画图分析,再详细解释IOC底层原理
IOC底层原理过程:
如上图,我们需要创建UserService,首先我们创建一个工厂类,定义一个静态方法,得到UserService对象
那这个过程是如何实现的?我们看下一张图片:
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方法