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