您的位置:首页 > 其它

你怎么理解ioc/DI?

2017-07-11 13:58 323 查看
(1)ioc/DI其实是同一种概念的两种不同角度的理解罢了。

(2)ioc控制反转,首先到理解以下三个问题:
2.1:谁控制谁?我们知道容器的作用就是管理bean对象,所以Spring容器控制对象。
bean对象通常以标签的形式出现在配置文件中,如:
<bean id="dataSource" class="">

</bean>



2.2:控制什么?Spring容器控制外部资源的获取。
配置文件中的bean对象有属性property ,而这些属性就会读取外部资源,如:
<bean id="" class="">
<property name = "dataSource" value=""/>
<property name = "configLocation" value=""/>
<property name = "mapperLocation" value=""/>

</bean>



2.3如何理解反转?由容器提供给我们所需的依赖对象,并不是我们主动创建这个以来对象。

例如,

我想买个大房子,我不会直接找开发商买,我会找中介要房源。
站在房子的角度上来看,它是被中介推荐给我的,所以就是反转。
(3)DI依赖注入:描述了容器在运行期如何管理具有依赖关系的组件(bean对象),即容器动态的将某种依赖关系注入到组件中。
首先来理解一下几个问题:

3.1谁依赖谁?

应用程序依赖ioc容器。通常在某段java代码前添加注解,告诉容器自己所需要的资源是什么。想了解注解内容,请移步到其他文章



3.2为什么要依赖?

前面说过,容器控制外部资源的获取,应用程序要获得资源就得依赖容器。

3.3谁注入谁?

ioc容器注入应用程序依赖的对象。

3.4注入了什么?

注入某个对象所需要的外部资源。

bea7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: