你怎么理解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
(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
相关文章推荐
- 深入理解DIP、IoC、DI以及IoC容器
- spring IOC AOP DI的理解
- Spring-3,IOC&DI的简单理解
- Spring特点中关于DI,IOC及AOP的个人理解
- 对ioc和di的理解
- IOC/DI与AOP概念的理解(转载及修改)
- Spring IoC,DI,AOP的一点理解
- 深入理解DIP、IoC、DI以及IoC容器
- Spring框架IOC,DI概念理解
- 对DIP、IoC、DI、IoC容器的解释,静下心,认真看完就能理解
- PHP程序员如何理解IoC/DI
- Spring核心内容IOC和DI的理解
- 深入理解DIP、IoC、DI以及IoC容器
- OPP,OOP,AOP,IoC,DI的个人理解
- [经典] IOC/DI与AOP概念的理解
- Sping理解以及IoC/DI入门,是什么、能干什么,分析IoC/DI的思想演变进程
- 再看IOC, 读深入理解DIP、IoC、DI以及IoC容器
- 对IOC/DI的理解
- JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解
- JAVA中的一些概念, IOC DI spring 讲的很好很容易理解