IOC(概念和原理)
IOC容器本质就是一种工厂
1、什么是 IOC
(1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理
(2)使用 IOC 目的:为了耦合度降低
(3)做入门案例就是 IOC 实现
2、IOC 底层原理
(1)xml 解析、工厂模式、反射
3、画图讲解 IOC 底层原理
IOC(BeanFactory 接口)
1、IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂
2、Spring 提供 IOC 容器实现两种方式:(两个接口)都能够通过加载配置文件通过工厂模式创建对象
(1)BeanFactory:IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用
* 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
(2)ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人员进行使用
* 加载配置文件时候就会把在配置文件对象进行创建
3、ApplicationContext 接口有实现类
FileSystem:对应的磁盘下文件路径 ClassPath:对应src下的文件的路径
IOC 操作 Bean 管理(基于 xml 方式)
1、基于 xml 方式创建对象
(1)在XMl文件中使用bean标签,在标签中添加相应的属性,就可以实现对象的创建
(2)bean标签常用属性
* id 属性:唯一标识
* class 属性:类全路径(包类路径)
(3)创建对象时候,默认也是执行无参数构造方法完成对象创建,如果没有无参构造器就会报错
2、基于 xml 方式注入属性
DI:DI是IOC中的一种具体实现,即依赖注入/注入属性,需要在创建对象的基础之上完成。
(1)第一种注入方式:使用 set 方法进行注入
- 创建对象类,定义属性和对应的set方法
- 在 spring 配置文件配置对象创建,配置属性注入
(2)第二种注入方式:使用有参数构造进行注入
- 创建类,定义属性,创建属性对应有参数构造方法
- 在 spring 配置文件中进行配置