spring 什么是容器?什么是bean?

什么是容器?

存储的东西就是一个容器。
IOC 是一个容器,是一个具有依赖注入功能的容器
我们要的对象就存在IOC这个容器里面。
IOC容器也就是Spring容器
spring三大核心技术:AOP(切面编程)、 IOC(控制反转)、 DI(依赖注入)

Spring中IOC容器的主要表现形式是BeanFactory(父类,功能低级点,算低级容器)和ApplicationContext(子类,功能高级点,算高级容器)这两个接口。这两个接口的具体实现类就可以看成是IOC容器在Spring中的具体体现

spring 的 IOC 负责对象的实例化、对象的初始化、对象和对象之间依赖关系配置、对象的销毁、对外提供对象的查找,对象的整个生命周期都是由容器来控制的。这个 IOC 是一个具有依赖注入功能的 容器
我们需要的对象都是由 IOC (控制反转)容器进行创建管理的,不需要我们手动去new对象出来,由IOC容器帮我们组装好,我们需要某个对象的时候就去IOC容器里面拿就行了。

IOC容器怎么组装我们想要的对象?

我们把创建对象的控制权交给 IOC 容器,那么我们也需要给IOC一个创建对象的配置清单(我们需要的对象及该对象的依赖关系,这个配置支持 xml 格式和 java注解方式),IOC才能帮我们创建我们想要的对象。
当项目启动的时候,这个IOC 容器(也就是Spring 容器)就会去加载这些配置文件,然后将我们要的对象组装好以供外部访问者使用。

解释 --> IOC 是一个容器,是一个具有依赖注入功能的容器

IOC 控制反转
DI 依赖注入

解释---->IOC 也被成为DI ?

IOC就是容器,DI 就是注入这一行为,那么DI 确实就是 IOC 的具体功能的实现。而 IOC 则是 DI 发挥的平台和空间。所以说。IOC 和 DI 即是相辅相成的拍档。他们都是为了实现解耦而服务的

1、什么是控制,控制的是什么?
是bean的创建、管理的权利,控制bean的整个生命周期

2、什么是反转,反转了什么?

把原本我们自己主动创建管理对象的权利反转给了spring容器(IOC 容器)去创建、管理。这个就是反转。

3、什么是依赖,依赖了什么?
程序运行需要依赖外部的资源叫依赖

依赖的就是—程序内对象所需要的数据、资源,

4、什么是注入,注入了什么?
配置文件把资源从外部注入到内部,容器(IOC)加载了外部的文件、对象、数据,然后把这些资源注入给程序内的对象,维护了程序内外对象之间的依赖关系。
所以说控制反转就是通过依赖注入实现的。

IOC是设计思想,DI是具体的实现方式
IOC是理论,DI是实践

IOC也可以通过其他方式来实现,而DI只是Spring的选择。

IOC的作用就是解耦
它把对象之间的依赖关系转成用配置文件来管理,由spring Ioc Container 来管理

IOC为什么被称为容器?

IOC充当对象的容器,是管理对象生命周期的框架。负责实例化、解析引用并销毁。

对象的实例化、对象的初始化、对象和对象之间依赖关系配置、对象的销毁、对外提供对象的查找,管理对象的整个生命周期

IOC 为什么又被说成是一种思想?

控制反转是一种思想、思路。就是把我们创建对象的权利交给IOC这个容器管理

spring 什么是容器?什么是bean?_第1张图片

什么是bean?

啰嗦三连加强记忆。

什么是bean?

bean 是一个普通的java对象。

什么对象都叫bean吗?

由spring容器管理的对象统称为Bean对象。
只有由spring容器管理的对象才叫bean。

bean和自己new的对象有什么区别?

Bean就是普通的java对象,和我们自己new的对象实质上没有区别。
把对象叫成bean只因为这个对象不是我们主动创建的,而是由spring去创建和管理的对象才叫bean

要spring容器(IOC容器)帮我们创建,我们需要在配置文件中告诉spring容器需要创建哪些bean对象,所以需要现在配置文件中定义好需要创建的bean对象,这些配置统称为bean定义配置元数据信息,spring容器通过读取这些bean配置元数据信息来构建和组装我们需要的对象。

Spring IOC 到底是什么?

容器的基本使用及原理

你可能感兴趣的:(2022零散记录,java)