首页 > 其他 > 详细

依赖注入

时间:2019-09-26 10:33:47      阅读:102      评论:0      收藏:0      [点我收藏+]

  经常听到“控制翻转”和“依赖注入”这两个词,所以特意去了解了一下。

  “在Spring中,控制翻转(Inversion of Control,IoC)是通过依赖注入(Dependency injection,DI)实现的。所谓依赖注入指的是,由Spring容器来负责对象的创建以及维护对象之间的依赖关系,对象不需要负责创建和解决自己的依赖。”这是我了解到的内容。

  下面谈谈我的理解:

  “厨子”、“采购员”、“原材料”、“菜”,看到这几个词的时候我们会想到什么呢?

  1、“厨子炒菜需要原材料”

  2、“采购员负责采购原材料”

  大家都知道分工细化能够带来效率的提升,厨子专注于做菜往往能做出好吃的菜,采购员专注于采购往往能买到物美价廉的材料。

 

  假设有类A、类B:

1 public class A{
2     ...
3     ...    
4     pubilc A(){
5     }
6     public A(...){
7          ...
8     }
9 }
 1  public class B{
 2      A a;
 3      ...
 4      ...    
 5      pubilc B(){
 6      }
 7      public B(...){
 8           ...
 9           this.a = new A(...);
10      }
11  }

  在不使用依赖注入的情况下,B类需要自己动手去创建一个类A的对象来满足自己的需求,在这种情况下,类B和类A是紧耦合的,如果需要对类A进行修改,那么所有依赖类A的类都需要做相应的调整,如果依赖类A的类比较多的话,这就比较麻烦了。为了解决这种紧耦合带来的不便,就有了依赖注入。

  依赖注入的主要目的就是为了解耦,在程序开始运行后,Spring IoC容器会先创建一些类,就像采购员会先去采购一批原材料,当然了具体需要创建哪些类,需要我们告诉容器,就像具体要买哪些菜需要厨子告诉采购员,然后所有依赖于这些类的类自需要告诉容器:“我需要一个XXX类的对象”,然后然就会得到一个XXX类的对象,就像厨子想炒白菜,只需要说:“我需要白菜、盐...”,然后他就能得到想要的材料并开始炒菜。

依赖注入

原文:https://www.cnblogs.com/KenBaiCaiDeMiao/p/11588976.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!