永发信息网

控制反转和依赖注入的区别

答案:2  悬赏:60  手机版
解决时间 2021-02-14 15:49
控制反转和依赖注入的区别
最佳答案
依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。

不管是依赖注入,还是控制反转,都说明Spring采用动态、灵活的方式来管理各种对象。对象与对象之间的具体实现互相透明。在理解依赖注入之前,看如下这个问题在各种社会形态里如何解决:一个人(Java实例,调用者)需要一把斧子(Java实例,被调用者)。
全部回答
概念: 控制反转(inversion of control,英文缩写为ioc)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的spring框架的核心。 控制反转一般分为两种类型,依赖注入(dependency injection,简称di)和依赖查找(dependency lookup)。依赖注入应用比较广泛。 依赖注入:组件不做定位查询,只提供普通的java方法让容器去决定依赖关系。容器全权负责的组件的装配,它会把符合依赖关系的对象通过javabean属性或者构造函数传递给需要的对象。通过javabean属性注射依赖关系的做法称为设值方法注入(setter injection);将依赖关系作为构造函数参数传入的做法称为构造子注入(constructor injection) 区别: 控制反转:创建对象实例的控制权从代码控制剥离到ioc容器控制,实际就是你在xml文件控制,侧重于原理。 依赖注入:创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
宁波市镇海艺术实验幼儿园地址在什么地方,我
火线干探之死亡天使里的女主角佛罗里达是史宾
求rainy的小说合集
宁波市镇海区九龙湖镇小燕子幼儿园地址在什么
【机械能守恒定律实验】验证机械能守恒定律实
吉姆心脏病发去到天堂的是什么电影
麦利来蛋糕房地址在什么地方,想过去办事
二七区郑州西安绝味烤面筋在哪里啊,我有事要
宁波市镇海区骆驼勤劳幼儿园地址好找么,我有
原谅我曾经对你说,,是什么歌里的句子
金鱼背鳍上长了一根白刺?
小说作家千笔有哪些作品?
男生,女友怎样做你才觉得她给你足够空间呢?
新速腾踩离合好重是什么原因
宁波市镇海区虹桥小聪聪幼儿园地址有知道的么
推荐资讯
上海产检多少钱
企业店铺标志可以加到宝贝图片里吗
我的仓鼠牙齿长得好可怕~!怎么办才好啊?!
金浚地产半岛半山分行地址在哪,我要去那里办
电力新苑超市怎么去啊,有知道地址的么
存在邮箱中草稿箱里的文件没了
我的百合买回家好几天了,怎么没有开花的迹象
兰德酷路泽一箱油能跑多少公里啊,意思是说能
求授课到天亮这个动漫全集。。
在不知不觉之间,我们开始了从儿童向成年的过
你好,要是附合这些条件,现在稻香村还可以加
浙江昂利康制药厂我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?