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