Spring 框架中的控制反转和依赖注入是什么意思?有什么区别?为什么在 Spring 框架中



Spring 框架中的控制和依赖注入反转是什么意思? 有什么区别?为什么在 Spring 框架中?

谁能解释一下?

还推荐一些书籍来学习初学者的春季框架?

我将写下我对这两个术语的简单理解:

For quick understanding just read examples*

依赖注入(DI):
依赖关系注入通常意味着将依赖对象作为参数传递给方法,而不是让方法创建依赖对象
在实践中,这意味着该方法不直接依赖于特定的实现;任何满足要求的实现都可以作为参数传递。

有了这个对象告诉它们的依赖关系。春天使它可用。
这会导致松散耦合的应用程序开发。

Quick Example:EMPLOYEE OBJECT WHEN CREATED,IT WILL AUTOMATICALLY CREATE ADDRESS OBJECT (if address is defines as dependency by Employee object).

控制反转 (IoC) 容器:
这是框架的共同特征,IOC 通过
其 BeanFactory 管理 Java 对象 - 从实例化到销毁。
由 IoC 容器实例化的 Java 组件称为 bean,IoC 容器管理 Bean 的范围、生命周期事件以及已为其配置和编码的任何 AOP 功能。

QUICK EXAMPLE:Inversion of Control is about getting freedom, more flexibility, and less dependency. When you are using a desktop computer, you are slaved (or say, controlled). You have to sit before a screen and look at it. Using keyboard to type and using mouse to navigate. And a bad written software can slave you even more. If you replaced your desktop with a laptop, then you somewhat inverted control. You can easily take it and move around. So now you can control where you are with your computer, instead of computer controlling it .

通过实现控制反转,软件/对象使用者可以获得更多对软件/对象的控制/选项,而不是被控制或拥有更少的选项。

控制反转作为设计准则用于以下目的:

某个任务的执行与实现脱钩。
每个模块都可以专注于它的设计目的。
模块不假设其他系统做什么,而是依赖于它们的契约。
替换模块对其他模块没有副作用
我将在这里保持抽象,您可以访问以下链接以详细了解该主题。
一个很好的阅读的例子

详细说明

最新更新