What does mean Inversion of Control and Dependency Injection in Spring Framework? and what is difference ? Why in the Spring framework?
在Spring框架中,控制反转和依赖注入意味着什么?有什么区别?为什么在Spring框架中?
有人能解释吗?
还建议一些初学者学习Spring框架的书?
我将写下我对这两个术语的简单理解:
1 | For quick understanding just read examples* |
依赖注入(DI):依赖注入通常意味着将依赖对象作为参数传递给方法,而不是让方法创建依赖对象。它在实践中的含义是,方法不直接依赖于特定的实现;任何满足需求的实现都可以作为参数传递。有了这个对象,就可以告诉他们依赖性。春天使它成为可能。这导致了松散耦合的应用程序开发。
1 | Quick Example:EMPLOYEE OBJECT WHEN CREATED,IT WILL AUTOMATICALLY CREATE ADDRESS OBJECT (if address is defines as dependency by Employee object). |
控制反转(IOC)容器:这是框架的共同特点,IOC管理Java对象——从实例到销毁它的BeaNe厂。由IOC容器实例化的Java组件称为Bean,IOC容器管理bean的范围、生命周期事件以及已配置和编码的任何AOP特征。
通过实现控制反转,软件/对象消费者可以获得更多对软件/对象的控制/选项,而不是被控制或拥有更少的选项。
作为设计指南的控制反转可用于以下目的:
某个任务的执行与实现是分离的。每个模块都可以专注于它的设计目的。模块对其他系统做什么不做任何假设,而是依赖于它们的契约。替换模块对其他模块没有副作用。我将在这里保持抽象的内容,您可以访问以下链接来详细了解主题。一个很好的例子
详细说明