浅析Spring中IOC与DI

1.   Spring框架的核心

Spring框架的核心是IOC(Inverse of Control),即控制反转,这是一种设计思想。在Java开发过程中,将自己设计好的对象交给IOC容器控制,而不是传统的在对象的内部进行控制。

那么控制反转这个词怎么来解释它呢?

首先是控制:在传统的JavaSE的程序开发时,都是在对象内部直接通过new关键字来创建实例化对象,因此是程序主动的对对象依赖;而在Spring中,创建对象的权力交给IOC容器来控制,主要控制了外部资源的获取(包括对象和文件)。

然后是反转:有反转自然有正转,先解释什么是正转:传统的程序设计是在对象中主动控制去获取依赖对象的;而在Spring中是容器帮我们查找对象然后对对象进行依赖注入,对象只是被动的接收依赖对象,依赖的获取被反转了。

用简单的话来解释IOC:

从前应用程序是‘老大’,他想要什么就自己去拿;自从有了IOC/DI的思想,应用程序就变成了‘囚犯‘,他想要只能等着IOC容器来分配给他(即将需要的资源注入给他)。解耦和法则:别来找我,我来找你。

2.   IOC(控制反转)和DI(依赖注入)的区别(个人看法)

IOC:是一种面向对象编程的设计思想

DI:是实现IOC的具体方式。

3.   什么是DI(依赖注入)

理解DI的四个关键:谁依赖谁,为什么需要依赖,谁注入谁,注入了什么

1)谁依赖谁:根据前面说的是应用程序依赖于IOC容器;

2)为什么需要依赖:应用程序需要IOC容器给他提供必要的外部资源;

3)谁注入谁:IOC容器将应用程序依赖的对象注入应用程序中;

4)注入了什么:注入了某个对象需要的外部资源(包括对象,资源,常量数据);


猜你喜欢

转载自blog.csdn.net/atadpole/article/details/80917639