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