在Spring的学习中,IoC(控制反转)和AOP(面向切入)为Spring中的两大核心.本文主要针对IoC和DI发表一些浅析.
一、 什么是IoC
IoC-Inversion of Control,即“控制反转”.它的存在本身不是一门技术,而是一种开发思想.
二、为什么要学习Spring的IoC
因为在传统的开发模式中,当我们需要去调用某个对象的时候,我们会直接new一个对象.
而学习了Spring之后,我们只需要需要创建的实例对象交给Spring容器来创建,然后我们直接在Spring的容器中获取实例对象就OK了.这样就节省了开发时间.
下图为传统模式和有了Spring的IoC/DI容器后创建实例对象对比图.

图片来源:http://h5ip.cn/uVIg

图片来源:http://h5ip.cn/uVIg
三、Spring的IoC小案例
(一)创建一个接口

(二)实现接口类的方法

(三)配置Xml文件

注:
1.位置:任意,配置文件通常放在src下
2.名称:任意,企业中常用applicationContext.xml
3.约束:需要添加schema约束
四、那么了解IoC容器后,谁能告诉我,DI有什么用处呢?
DI-Dependency Injection,即依赖注入.那什么是依赖注入呢?
即当一个类(A)需要依赖另外一个对象(B)的时候,把B的赋值给A的过程叫做依赖注入.
通过set方法对另一个对象进行实例化设置

在xml配置文件中通过property属性进行依赖注入.如下图所示.

五、总结
总的来说Spring的IoC(控制反转)和DI(依赖注入)不是一种技术潮流,而是一种设计思想.一种了“主从换位”的思想.
改变了传统由对象依赖方式,由IoC容器主动注入相应的依赖对象.




