4、ioc底层原理
1、什么是IOC
1、控制反转
把对象创建和对象之间调用的过程,交给spring管理,
2、目的
降低耦合度
3、入门案例
2、底层原理
1、xml解析、工厂模式、反射
3、画图
原始方式
缺点:耦合度太高了
工厂方式
做了解耦,实际中,类与对象之间不可能完全没有耦合度;最大程度上降低耦合度。
5、底层原理2
ioc过程
第一步
xml配置文件,配置创建的对象。
<bean id="dao" class="com.atguigu.UserDao"></bean>
第二步
创建工厂类
这里用到反射和xml解析方式做到
class UserFactory{
public static UserDao getDao(){
String classValue=class属性; //1、xml解析
Class clazz=Class.forName(classValue); //2、通过反射创建对象
return (UserDao)clazz.newInstance();
; }
}
6、接口
1、ioc
思想基于ioc容器完成,底层就是对象工厂。
2、spring提供了ioc容器的两种实现方式
1、BeanFactory
ioc容器基本实现,spring内部使用的接口;
*加载配置文件时,不会去创建对象,仅当获取使用对象时采取创建对象。
2、ApplicationContext
BeanFactory的一个子接口,功能更强大;一般有开发人员使用,。
加载配置文件时创建对象。