# Spring 学习笔记

**URL:** <https://www.shiqidu.com/t/topic/778>\
**Category:** 开发调优\
**Tags:** Java\
**Created:** [2022 年3 月 21 日 06:24 UTC](https://www.shiqidu.com/t/topic/778 "2022-03-21T06:24:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![Eureka](https://www.shiqidu.com/user_avatar/www.shiqidu.com/eureka/32/5_2.png) [@Eureka](https://www.shiqidu.com/u/Eureka)\
发布日期： [2022 年3 月 21 日 06:24 UTC](https://www.shiqidu.com/t/topic/778/1 "2022-03-21T06:24:17Z")

</div>

## IoC

### 定义

控制反转，一种设计思想，将对象的创建和销毁交给IoC容器。

### 实现方式

IoC 底层通过工厂模式、Java 的反射机制、XML 解析等技术，将代码的耦合度降低到最低限度，其主要步骤如下。  
在配置文件（例如 Bean.xml）中，对各个对象以及它们之间的依赖关系进行配置；  
我们可以把 IoC 容器当做一个工厂，这个工厂的产品就是 Spring Bean；  
容器启动时会加载并解析这些配置文件，得到对象的基本信息以及它们之间的依赖关系；  
IoC 利用 Java 的反射机制，根据类名生成相应的对象（即 Spring Bean），并根据依赖关系将这个对象注入到依赖它的对象中。
