Spring的控制反转和依赖注入之间的区别

Spring是一个开源轻量级框架,允许 Java EE 7 开发人员构建简单、可靠且可扩展的企业应用程序。该框架主要致力于提供各种方法来帮助您管理业务对象。与经典 Java 框架和应用程序编程接口 (API)(例如 Java 数据库连接 (JDBC)、JavaServer Pages(JSP) 和 Java Servlet)相比,它使 Web 应用程序的开发变得更加容易。该框架使用各种新技术来开发企业应用程序,例如面向方面编程(AOP)、普通Java对象(PO​​JO)和依赖注入(DI)。

控制反转

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

  • 为我们创建对象,
  • 管理我们的对象,
  • 帮助我们的应用程序可配置,
  • 管理依赖关系

依赖注入

依赖注入是Spring IOC(控制反转)提供的主要功能。Spring-Core 模块负责通过 Constructor 或 Setter 方法注入依赖项。控制反转的设计原则强调保持Java类彼此独立,容器将它们从对象创建和维护中解放出来。这些由 Spring 管理的类必须遵守 Java-Bean 的标准定义。Spring 中的依赖注入还确保了类之间的松散耦合。Spring 依赖注入有两种类型。

Setter 依赖注入 (SDI)

Setter 注入是两种依赖注入方法中更简单的一种。在此,依赖注入将在 setter 和/或 getter 方法的帮助下进行注入。现在要在 bean 中将依赖注入设置为 Setter 注入,是通过 bean 配置文件完成的。为此,要使用 Setter 注入设置的属性在bean 配置文件的<property>标记下声明。

构造函数依赖注入(CDI)

在构造函数注入中,依赖注入将借助构造函数进行注入。现在要在bean中将依赖注入设置为构造函数依赖注入,这是通过bean配置文件完成的。为此,要使用 CDI 设置的属性在bean-config 文件中的<constructor-arg>标记下声明。

区别

控制反转依赖注入
Spring IoC容器是Spring框架的核心。
它创建对象,配置和组装它们的依赖项,管理它们的整个生命周期。
Spring依赖注入是通过Spring的以下方式来注入框架组件的依赖:
构造函数注入和Setter注入
由于 IoC(控制反转),Spring 有助于创建对象、管理对象、配置等。 由于依赖注入,Spring 框架有助于创建松散耦合的应用程序。
Spring IoC是通过依赖注入来实现的。依赖注入是提供依赖关系的方法,控制反转是依赖注入的最终结果。
IoC是一种程序控制流程反转的设计原则。依赖注入是 IOC 原则的子类型之一。  
面向方面编程是实现控制反转的一种方法。如果业务需求发生任何变化,则无需更改代码。
© 版权声明
THE END
喜欢就支持一下吧
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容