在Spring框架中,控制和依赖注入的反转是什么意思?有什么不同吗?为什么在Spring框架中?
有人能解释吗?
还建议一些书供初学者学习Spring框架?
发布于 2014-11-10 08:57:03
我将写下我对这两个术语的简单理解:
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 管理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。
通过实现控制反转,软件/对象使用者比软件/对象获得更多的控制/选项,而不是被控制或拥有更少的选项。
作为设计指南的控制反转可用于以下目的:
某个任务的执行与实现是脱钩的。
每个模块都可以专注于它的设计目的。
模块对其他系统的工作不作任何假设,而是依赖于它们的合同。
更换模组对其他模组并无副作用。
我会保持抽象在这里,您可以访问以下链接,以了解该主题的细节。
https://stackoverflow.com/questions/18939228
复制相似问题