IoC容器:Spring IoC容器和Bean简介(一)
IoC:Inversion of Control,即控制反转。
DI:Dependency Injection,即依赖注入。
IoC也被称为依赖注入。IoC是一个过程
,对象仅通过构造函数
、工厂方法的参数
或设置实例对象的属性
(setter)来定义其依赖关系(即他们与之合作的其他对象),容器在创建Bean的时候注入这些依赖关系。
这个过程从根本上说是Bean本身通过使用直接构建类或诸如服务定位模式的机制来控制其依赖关系的实例化或位置
的逆过程(因此被称为控制反转)。它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。
以下两个包是Spring Framework的IoC容器的基础:
1 | org.springframework.beans; |
BeanFactory
接口提供了一种高级配置机制,能够管理任何类型的对象。
ApplicationContext
是BeanFactory的一个子接口,它增加了:
- 更容易与Spring的AOP功能集成
- Message resource 处理(用于国际化)
- 事件发布
- 应用层的特定上下文,如
WebApplicationContext
,用于web应用
简而言之,BeanFactory
提供了配置框架和基本功能,而ApplicationContext
则增加了更多的企业特定功能。ApplicationContext
是BeanFactory
的一个完整超集。
BeanFactory 接口在org.springframework.beans.factory包;
ApplicationContext 接口在org.springframework.context包;
Bean定义:构成应用程序的骨干并由Spring IoC容器管理的对象被称为Bean。Bean是一个由Spring IoC容器实例化、组装和管理的对象。反之,Bean只是应用程序中众多对象中的一个。Bean以及它们之间的依赖关系都反映在容器使用的配置元数据
中(例如xml文件)。
IoC容器:Spring IoC容器和Bean简介(一)
https://rainbowsea.xyz/2025/02/26/spring/1.1-Spring_IoC容器和Bean简介/