0

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

谁能解释一下?

也推荐一些适合初学者学习Spring框架的书?

4

1 回答 1

1

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

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.

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

控制反转作为设计指南的目的如下:

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

详细解释

于 2014-11-10T08:57:03.930 回答