📜  Spring – IoC 容器

📅  最后修改于: 2022-05-13 01:55:52.017000             🧑  作者: Mango

Spring – IoC 容器

Spring框架可以看作是子框架的集合,也称为层,如Spring AOP、Spring ORM、Spring Web Flow、Spring Web MVC等。您可以在构建 Web 应用程序时单独使用这些模块中的任何一个。这些模块也可以组合在一起以在 Web 应用程序中提供更好的功能。

在深入到 Spring 到容器之前,请记住 Spring 提供了两种类型的容器,如下所示:

  1. BeanFactory 容器
  2. 应用上下文容器

Spring 框架的 IoC、AOP 和事务管理等特性使其在框架列表中独一无二。 Spring 框架的一些最重要的特性如下:

  1. IOC容器
  2. 数据访问框架
  3. 春季MVC
  4. 交易管理
  5. 春季网络服务
  6. JDBC抽象层
  7. Spring TestContext 框架

Spring IoC Container 是 Spring Framework 的核心。它创建对象,配置和组装它们的依赖项,管理它们的整个生命周期。容器使用依赖注入(DI)来管理组成应用程序的组件。它从配置文件 (XML) 或Java代码或Java注释和Java POJO 类中获取有关对象的信息。这些对象称为 Bean。由于Java对象及其生命周期的控制不是由开发人员完成的,因此命名为Inversion Of Control

下图描述了容器如何使用配置元数据和Java POJO 类来管理 bean。

所以最后让我们讨论一下 BeanFactory 和 ApplicationContext 之间的一些主要区别,以便对 spring IoC 容器有一个清晰的认识,如下表所示:

Feature

BeanFactory

ApplicationContext

Annotation Support

No 

Yes



Bean Instantiation/Wiring

Yes

Yes

Internationalization

No

Yes

Enterprise Services

No

Yes

ApplicationEvent publication

No 

Yes

Automatic BeanPostProcessor

registration

No

Yes

Loading MechanismLazy loadingAggressive loading

Automatic BeanFactoryPostProcessor

registration

No

Yes