IOC容器的介绍
- IOC底层的原理
- IOC操作(BeanFactory)
- IOC操作Bean管理(基于xml)
- IOC操作Bean管理(基于注解)
1、什么是IOC
- 控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
- 使用IOC目的,为了耦合度降低
- 做到入门案例就是IOC实现
2、IOC底层原理
- xml解析、工厂模式、反射机制
3、画图讲解IOC底层原理
原始方法耦合度太高了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AkzAEDLB-1638844679595)(C:\Users\Master\AppData\Roaming\Typora\typora-user-images\image-20211202170124671.png)]
利用工厂设计模式进行降低耦合度
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZjkrMID-1638844679596)(C:\Users\Master\AppData\Roaming\Typora\typora-user-images\image-20211202190945913.png)]
4、IOC过程
-
xml配置文件,配置创建的对象
<!--创建User类的对象--> <bean id="user" class="com.dxz.demo.User"></bean>
-
有service类和dao类,创建工厂类
class UserFactory{ public static UserDao getDao(){ String classValue = class属性值;//xml解析 Class clazz = Class.forName(classValue);//通过反射创建对象 return (UserDao)clazz.newInstance(); } }
进一步降低了耦合度
5、IOC接口
-
IOC思想基于IOC容器完成,IOC底层就是对象工厂
-
Spring提供两种IOC的实现方式(两个接口)
-
BeanFactory:IOC容器基本实现,是Spring内部的使
-
用接口,不提供开发人员进行使用
*在加载配置文件时候不会创建对象,在获取对象才会去创建对象
-
ApplicationContext:BeanFactory接口的子接口,提供更多更加强大的功能,一般由开发人员使用
*加载配置文件的时候就会把在配置文件对象进行创建
-
-
ApplicationContext接口中有实现类
件的时候就会把在配置文件对象进行创建
- ApplicationContext接口中有实现类