Spring 之 IoC概述

目录

1. IoC概述

1.1 控制反转

1.2 依赖注入

2. IoC容器在Spring中的实现

2.1 BeanFactory

2.2 ApplicationContext

2.2.1 ApplicationContext的主要实现类


1. IoC概述

全称:Inversion of Control,译为 “控制反转”

Spring通过IoC容器来管理所有Java对象的实例化和初始化,控制对象与对象之间的依赖关系。我们将由IoC容器管理的Java对象称为Spring Bean,它与使用关键字new 创建的Java对象没有任何区别。

1.1 控制反转

  • 控制反转是一种思想
  • 控制反转是为了降低程序耦合度,提高程序扩展力
  • 控制反转,反转的是什么?
    (1)将对象的创建权交出去,交给第三方容器(IoC)负责
    (2)将对象和对象之间关系的维护权交出去,交给第三方容器(IoC)负责

1.2 依赖注入

它实现了控制反转的思想。指Spring创建对象的过程中,将对象依赖属性通过配置进行注入。

依赖注入常见的俩种实现方式:

  • set注入
  • 构造注入

结论:IOC就是一种控制反转的思想,而DI是对IOC的一种具体实现。

2. IoC容器在Spring中的实现

Spring 的 IoC 容器就是 IoC思想的一个落地的产品实现。IoC容器中管理的组件也叫做 bean。在创建 bean 之前,首先需要创建IoC 容器。Spring 提供了IoC 容器的两种实现方式:

2.1 BeanFactory

这是 IoC 容器的基本实现,是 Spring 内部使用的接口。面向 Spring 本身,不提供给开发人员使用。

2.2 ApplicationContext

BeanFactory 的子接口,提供了更多高级特性。面向 Spring 的使用者,几乎所有场合都使用 ApplicationContext 而不是底层的 BeanFactory。

2.2.1 ApplicationContext的主要实现类

相关推荐

  1. SpringIOC

    2024-04-10 15:04:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 15:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 15:04:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 15:04:02       82 阅读
  4. Python语言-面向对象

    2024-04-10 15:04:02       91 阅读

热门阅读

  1. LeetCode-热题100:23. 合并 K 个升序链表

    2024-04-10 15:04:02       32 阅读
  2. 计算机网络---第四天

    2024-04-10 15:04:02       33 阅读
  3. react类组件转化为函数组件

    2024-04-10 15:04:02       29 阅读
  4. docker 的常用命令

    2024-04-10 15:04:02       35 阅读
  5. torch.mean()的使用方法

    2024-04-10 15:04:02       35 阅读
  6. 卷积神经网络介绍和实例

    2024-04-10 15:04:02       33 阅读
  7. 建造者模式(生成器模式)

    2024-04-10 15:04:02       36 阅读
  8. 多线程(42)无锁编程

    2024-04-10 15:04:02       38 阅读