首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spring框架中,控制和依赖注入的反转是什么意思?有什么不同吗?为什么在Spring框架中?

在Spring框架中,控制和依赖注入的反转是什么意思?有什么不同吗?为什么在Spring框架中?
EN

Stack Overflow用户
提问于 2013-09-22 00:51:40
回答 1查看 2.3K关注 0票数 0

在Spring框架中,控制和依赖注入的反转是什么意思?有什么不同吗?为什么在Spring框架中?

有人能解释吗?

还建议一些书供初学者学习Spring框架?

EN

回答 1

Stack Overflow用户

发布于 2014-11-10 08:57:03

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

代码语言:javascript
复制
For quick understanding just read examples*

依赖注入(DI):

依赖注入通常意味着将依赖对象作为参数传递给方法,而不是让该方法创建依赖对象

实际上,它的意思是该方法不直接依赖于特定的实现;任何满足需求的实现都可以作为参数传递。

使用此对象可以告诉它们的依赖项。春天让它成为现实。

这将导致松散耦合的应用程序开发。

代码语言:javascript
复制
Quick Example:EMPLOYEE OBJECT WHEN CREATED,IT WILL AUTOMATICALLY CREATE ADDRESS OBJECT (if address is defines as dependency by Employee object).

控制反转(IoC)容器:

这是框架的共同特征,IOC 管理java对象

-通过其BeanFactory从实例化到销毁。

由-Java容器实例化的-Java组件称为bean,IoC容器管理bean的作用域、生命周期事件,并为其配置和编码的任何IoC特性

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

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

作为设计指南的控制反转可用于以下目的:

某个任务的执行与实现是脱钩的。

每个模块都可以专注于它的设计目的。

模块对其他系统的工作不作任何假设,而是依赖于它们的合同。

更换模组对其他模组并无副作用。

我会保持抽象在这里,您可以访问以下链接,以了解该主题的细节。

用例子读得很好

详细解释

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18939228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档