天天看点

【Spring】Spring中IOC控制反转一、认识IOC二、IOC底层原理三、IOC接口(BeanFactory)四、IOC和DI区别

【Spring系列】IOC控制反转

【Spring系列】IOC操作bean管理(一)——bean管理实例详解

【Spring系列】IOC操作bean管理(二)——bean的生命周期、作用域

【Spring系列】IOC操作bean管理(三)——xml自动装配

【Spring系列】IOC操作bean管理(四)——引入外部属性文件

【Spring系列】IOC操作bean管理(五)——bean管理注解

【Spring系列】AOP详解

【Spring系列】JdbcTemplate操作数据库详解

【Spring系列】spring事务配置详解

【Spring系列】spring5框架新特性

文章目录

  • 一、认识IOC
    • (1)是什么
    • (2)作用
  • 二、IOC底层原理
  • 三、IOC接口(BeanFactory)
  • 四、IOC和DI区别

一、认识IOC

(1)是什么

控制反转(Inversion Of Control),把对象的创建 和 对象之间的调用过程,交给Spring进行管理;

控制反转是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。

其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。

通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。

(2)作用

  • 降低耦合度
  • 可维护性好
  • 可复用性好

二、IOC底层原理

(1)xml解析

(2)工厂模式

  • 工厂模式需要创建工厂类,创建返回需要对象,
  • 工厂模式:静态工厂和实例工厂

(3)反射

三、IOC接口(BeanFactory)

1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

2、Spring提供IOC容器实现两种方式:(两个接口)

(1)BeanFactory: IOC容器基本实现,是Spring内部的使用接口。

  • 不提供开发人员进行使用;
  • 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象

(2)ApplicationContext: BeanFactory接口的子接口,提供更多更强大的功能。

  • 一般由开发人员进行使用;
  • 加载配置文件时候就会把在配置文件对象进行创建

3、 ApplicationContext接口有实现类

【Spring】Spring中IOC控制反转一、认识IOC二、IOC底层原理三、IOC接口(BeanFactory)四、IOC和DI区别

四、IOC和DI区别

(1) ioc是控制反转,ioc负责创建对象和管理对象之间关系;

(2)di是依赖注入,注入属性;

(3)di需要在ioc基础之上完成,注入属性首先需要创建对象;