浅析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)注入了什么:注入了某个对象需要的外部资源(包括对象,资源,常量数据);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值