Spring的Ioc(控制反转)和DI(依赖注入)
来源:互联网 发布:广电总局 网络综艺 编辑:程序博客网 时间:2024/06/01 09:09
接触完Struts后,开始接触spring,struts在我们的mvc模式中是c就是控制器模块,负责与javabean和页面之间进行交互,所以一接触到spring的Ioc和DI时,脑海中立马想的是spring是不是就是mvc中的m即model呢?
然而看了spring的文档后,发现它的强大不仅仅只有m(model)模块这么简单,它很庞大,功能也很多,今天就先对它其中的两个很重要的思想做个学习总结和交流之用。
Ioc: 控制反转
猛的一看这个名词觉得好难理解,控制反转?到底是什么意思?
Ioc就是Inversion of Control,大家知道,在程序中,对象的创建是是通过new 一个类名来实现的,而我们的spring的Ioc是一种应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。也可以说,依赖被注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。也就是说,对象不是由自己new 自己来创建了面,而是由一个调控系统内所有对象的外界实体来创建对象将引用传递出来。在spring中这句代码就是体现:
ApplicationContext ac = new ClassPathXmlApplicationContext(new String[] { "beans.xml" });
<bean id="s" class="com.yc.bean.TestSpring2.MybatisDao"> </bean>
对象用xml文件中的bean来表示,通过ApplicationContext 来获得这个xml文件中相应的里面对象 的引用,起初我在想,这样不是更麻烦吗?明明简单的创建一个对象,却要用xml文件来表示。但是想到现在的j2ee应用的庞大之处,像这种冗余的对象的创建是很耗费时间的,我们的spring对这种对象的创建进行了很好的封装,我们创建的对象是单例的,用的时候只需要调用它的引用即可,在大型项目中会省去我们好多的资源和冗余代码。简单的说它就是对象由容器创建的一个过程。
DI:依赖注入
在技术上来讲,依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。
- Spring IOC(控制反转)和DI(依赖注入)
- ioc(控制的反转) 和di(依赖注入)
- spring的IoC(控制反转)和DI(依赖注入)
- Spring的控制反转(IoC)和依赖注入(DI)
- Spring的依赖注入(DI)和控制反转(IOC)
- Spring容器的控制反转(IOC)和依赖注入(DI)
- Spring IoC(控制反转)和DI(依赖注入)的理解
- Spring IoC(控制反转)和DI(依赖注入)的理解
- Spring 使用注解的方式实现IOC和DI(控制反转和依赖注入)
- spring DI(依赖注入)和IOC(控制反转)的区别
- Spring的控制反转(IOC)和依赖注入(DI)详解
- Spring的IOC(控制反转)和 DI(依赖注入)机制
- Spring的Ioc(控制反转)和DI(依赖注入)
- spring框架的控制反转(IoC)和注入依赖(DI)
- Spring的IOC(控制反转)和DI(依赖注入)
- 利用反射简单模拟Spring的控制反转(Ioc)和依赖注入(DI)
- Spring-IOC(控制反转)+DI(依赖注入)
- Spring 控制反转(IOC)与依赖注入(DI)
- GPIO
- poj 2513 Colored Sticks(欧拉回路 并查集 路径压缩 字典树)(困难)
- 最早接触到的计算机编程语言——c语言
- 作为c++初学者 又给大家带来一个小程序 英文句子的首字母大写
- NYOJ 36 最长公共子序列(基础LCS)
- Spring的Ioc(控制反转)和DI(依赖注入)
- zoj 1671 Walking Ant
- 15个程序员需要知道的Chrome扩展
- java设计模式(5) - 策略者模式
- 实战MVC
- hdu 1856 离散化+并查集
- 【json】慕课网json学习
- 连续特征离散化的好处
- Struts2实现空表单信息的提示