spring容器

IOC

在没有spring的时候要使用对象,必须先要new一个对象,类之间的相互调用方法,也要自己创建对象和装配,而现有创建和装配对象都交给spring容器去完成,使用者只需要去spring容器中拿要使用的对象即可,这个过程对象的控制就被反转了,之前是使用者控制,现在交给了spring容器,对象的创建过程被反转了,所以叫做控制反转


IOC是面向对象设计的一中思想,降低系统代码耦合

DI

之前说了,spring容器帮我们创建好对象的实例,那我们怎么获得这个实例呢,调用者通过 Spring容器获得被调用者实例,这就是依赖注入

spring容器

spring容器是管理一系列对象的清单的容器,也称为IOC容器,主要的功能有:

  • 对象实例化
  • 对象初始化
  • 对象之间的依赖关系配置
  • 对象的销毁
  • 对外提供对象的查找
  • 。。

对象的整个生命周期都是由容器来控制的。
那spring 容器需要知道他要管理那些对象呢,我们在springboot中使用的注解大多数都是把对象交给了容器,比如说:

  • @Configuration 定义配置类
  • @Bean 下面说明
  • @Service
  • @Controller
  • @Component

Bean

由spring容器管理的对象统称为Bean对象

BeanFactory 可了解

这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory.BeanFactory中被定义
例子

AbstractApplicationContext

Application Context 是 BeanFactory 的子接口,也被称为 Spring 上下文。
Application Context 是 spring 中较高级的容器。和 BeanFactory 类似,它可以加载配置文件中定义的 bean,将所有的 bean 集中在一起,当有请求的时候分配 bean

原文地址:https://www.cnblogs.com/jsersudo/p/13936660.html