Spring之IOC的简单理解

IOC的简单理解

IOC是spring的两大特性之一,是spring的重要的组成部分,下面记录一下我对于IOC的理解。
IOC为英文为InversionOfControl,控制反转是spring基于Java反射技术来实现的。
IOC并不是spring或者面向对象的专用术语。

IOC中最基本的Java技术就是“反射”编程。通俗的说反射就是根据给出的类名(字符串)来生成对象。这种编程方式可以让对象在生成时才决定要生成哪一种对象。反射的应用是很广泛的,像Hibernate、Spring中都是用“反射”做为最基本的技术手段

  IoC最大的好处是什么?因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于某种接口的),只要修改XML就可以了,这样我们甚至可以实现对象的热插拔(有点像USB接口和SCSI硬盘了)。
  在过去,反射编程方式相对于正常的对象生成方式要慢10几倍,这也许也是当时为什么反射技术没有普遍应用开来的原因。但经SUN改良优化后,反射方式生成对象和通常对象生成方式,速度已经相差不大了(但依然有一倍以上的差距)。

猜你喜欢

转载自blog.csdn.net/leegoowang/article/details/79758750