1、什么是 IOC
(1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理
(2)使用 IOC 目的:为了耦合度降低
(3)做入门案例就是 IOC 实现
2、IOC 底层原理
(1)xml 解析、工厂模式、反射
3、画图讲解 IOC 底层原理
IOC过程:
1)xml配置文件,配置创建的对象。
<bean id="dao" class="com.zhang.UserDao"></bean>
2)有service和dao类,创建工厂类。
class UserFactory{
public static UserDao getDao(){
String classValue = class属性值;//1、xml解析
Class clazz = Class.forName(classVlaue);//2、通过反射创建对象
return (UserDao)clazz.newInstance();
}
}
IOC(BeanFactory 接口)
1、IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂
2、Spring 提供 IOC 容器实现两种方式:(两个接口)
(1)BeanFactory:
IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用,加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
(2)ApplicationContext:
BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人员进行使用,加载配置文件时候就会把在配置文件对象进行。
3、ApplicationContext 接口有实现类