Spring Core精简版文档-IoC容器

Spring围绕着容器为中心,最好先了解容器是什么。

学习Spring的最好途径还是官方的文档,将官方文档翻译并简化一下可以提升自己的编码水平。

基于Spring 5.3.7版本的文档。

IoC容器:

IoC:是Inversion of Control的缩写,意思是控制反转。

IoC也被称作dependency injection (DI),依赖注入。

对象仅仅通过构造器参数、工厂方法参数或者实例化后,通过方法设置属性,来定义它们的依赖。

org.springframework.beans
org.springframework.context

上面两个包是Spring 框架的基本IoC容器。

BeanFactory 接口提供一个高级的设置机制,适用于所有类型的对象。

ApplicationContext 是 BeanFactory 的子接口,多了:

更容易和Spring’s AOP集成在一起;
信息资源处理 (国际化);
事件发布;
用于web应用的应用层专用context,像:WebApplicationContext;

简而言之,BeanFactory提供了设置框架和基本的功能,而且ApplicationContext添加了更多的企业级用途的功能。ApplicationContext是BeanFactory的超集。

通过Spring IoC容器管理的对象称作beans。

Bean就是通过Spring IoC容器实例化、组装和管理的对象。

BeanFactory

不要用,除非需要完全控制bean(IoC没了),ApplicationContext是它的超集:

BeanFactoryApplicationContext
bean初始化/装配YesYes
集成生命周期管理NoYes
自动注册BeanPostProcessorNoYes
自动注册BeanFactoryPostProcessorNoYes
便捷访问MessageSource(国际化支持)NoYes
内置ApplicationEvent发布机制NoYes

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注