一.IOC是什么
控制反转,把对象的创建和调用过程交给spring进行管理。它的目的是降低耦合度。
二.IOC底层原理
原理是xml解析、工厂模式、反射。
一下是实现一个简单例子的基本过程
(1)第一步
xml配置文件,配置创建的对象
<bean id="名字" class="类路径"></bean>
(2)第二部
工厂模式的意思是创建一个工厂类,在其中创建静态方法来返回对象,当其他方法要获取该对象时,能通过“类.方法”获取对象降低耦合度。我们就按照这个模式创建类和方法。
(3)第三部
在工厂类中的方法中利用反射创建对象,再返回要创建的对象。
String classValue=class的属性值//class的属性值通过xml解析得到
Class clazz=Class.forName(classValue);
三.IOC实现方式(两接口)
(1)通过BeanFactory接口
该接口是spring内部的使用接口,不提供开发者使用。使用它是在加载配置文件时不会创建对象。
(2)通过ApplicationContext接口
该接口是BeanFactory接口的子接口,提供更多功能。在加载配置文件时就会创建对象。
该接口有两个实现类
①ClassPathXmlApplicationContext("src下的路径");
②FileSystemXmlApplicationContext("全路径");