专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Spring依赖注入和控制反转的区别

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

更新时间:2022-11-01 09:13:49 来源:动力节点 浏览866次

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

Spring IoC(控制反转)

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

为我们创建对象,

管理我们的对象,

帮助我们的应用程序可配置,

管理依赖项

Spring 依赖注入

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

Setter 依赖注入 (SDI)

构造函数依赖注入 (CDI)

1.Setter 依赖注入 (SDI)

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

2.构造函数依赖注入(CDI)

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

最后,让我们通过下表描述它们之间的激烈差异,以便更好地理解,因为如果不深入理解,总会存在两难境地。

Spring IoC(控制反转) Spring 依赖注入
Spring IoC Container 是 Spring Framework 的核心。它创建对象,配置和组装它们的依赖关系,管理它们的整个生命周期。 Spring依赖注入是通过spring的以下方式注入框架组件的依赖的一种方式:构造函数注入和Setter注入
由于 IoC(控制反转),Spring 有助于创建对象、管理对象、配置等。  由于依赖注入,Spring 框架有助于创建松散耦合的应用程序。
Spring IoC 是通过依赖注入实现的。 依赖注入是提供依赖的方法,控制反转是依赖注入的最终结果。
IoC 是一种设计原则,其中程序的控制流是倒置的。 依赖注入是 IOC 原则的子类型之一。  
面向方面的编程是实现控制反转的一种方法。 如果业务需求发生任何变化,则无需更改代码。

以上就是关于“Spring依赖注入和控制反转的区别”介绍,大家如果想了解更多相关知识,不妨来关注一下动力节点的Spring教程,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>