通俗易懂的依赖注入
来源:互联网 发布:apt-get insall yum 编辑:程序博客网 时间:2024/06/03 14:52
在大多数面向对象编程的过程中,在调用一个对象时,先要实例化这个类,然后才能调用这个对象。如果在写这个类时,调用了很多其他的类,类与类之间相互“依赖”,这就有了极大的耦合,并且在实例化对象时,可能会实例化许多不必要的对象浪费了资源。
为了解决这个问题,可以把所有依赖的对象,都注入到一个容器(IOC容器),这样以后,所有依赖有关的对象都可以从容器直接获取(解析),容器管理者对象的创建与销毁。IOC这个容器它是一个实现了IOC的框架。IOC 是控制反转 ,简单来说,a依赖b,但a不控制b的创建和销毁,仅使用b,那么b的控制权交给a之外处理,这叫控制反转(IOC),而a要依赖b,必然要使用b的instance,那么b注入到a 有如下几种方式:
1、通过a的接口,把b传入;
2、通过a的构造,把b传入;
3、通过设置a的属性,把b传入;
这个过程叫依赖注入(DI)。(很奇妙,依赖注入与控制反转相辅相成)
举个栗子:
public class A { private B b; public A(B b) { this.b=b; } }
那么如何去new呢,定义一个类C,在C中调用A的构造方法的时候new B();即
public class C{ @Test public void Use(){ A c=new A(new B()); } }
这样的话,就实现了一个简单的依赖注入,A类与B类松散耦合,B可以是一个接口,B中的方法逻辑可以任意修改,而A不用关心B的逻辑。
注:本文参考了知乎回答点击打开链接
阅读全文
1 0
- 通俗易懂的依赖注入
- 通俗易懂的spring的依赖注入(和控制反转)的讲解。
- 使用dagger2来做依赖注入(通俗易懂)
- 使用dagger2来做依赖注入(通俗易懂)
- 依赖、关联、聚合、组合的区别(通俗易懂)
- spring 的依赖注入
- Spring的依赖注入
- Spring的依赖注入
- 常见的依赖注入
- spring的依赖注入
- 依赖注入的理解
- spring的依赖注入
- 依赖注入的好处
- 依赖注入的方式
- spring的依赖注入
- Spring的依赖注入
- Spring的依赖注入
- 依赖注入的方式
- 脏读、幻读、不可重复读
- 【C++】判断是不是2、3、4的幂数
- 转载自博客园不思蜀的转载文章:最大子序列和算法分析
- 171120-函数程序练习【连续第二十八天】
- mybatis入门之简单操作
- 通俗易懂的依赖注入
- (ACM)Digital Roots
- 实验6 图的遍历
- (四) java并发编程--线程安全和资源共享
- 欢迎使用CSDN-markdown编辑器
- OpenStack虚拟机创建流程
- springMVC解决跨域jsonp乱码问题的三种方法
- jvm内存模型
- caffe python接口 测试分类: