spring ioc

 

IOC我的理解就是面向接口的编程。

举个例子,你在main方法里要运用一个磁盘传输数据的方法:
磁盘 a=new 磁盘();
但是如果现在要求你使用U盘来实现传输数据的功能怎么办?
U盘 u=new U盘();?
这就导致对于底层的过度依赖,java思想是下层为上层服务,不是上层依赖下层。
所以就必须使用接口的方式,使得磁盘和U盘同时实现设备这个接口里的方法。接口 i=new 磁盘()或者new U盘();

因为java的对象是在运行期才会被创建的,而非编译器。但是这样仍然存在着问题,就是每次要改动对象类型的时候还是要到程序里去做修改,如果有了xml文件的话,可以直接修改xml文件。

所以这就是IOC的大致思想。
控制反转的意思就是将底层对程序拥有的控制权转移给了接口!!!实现了接口控制的方式!
当然这只是他的核心思想,IOC里面还有其他的东西值得继续研究。

你可能感兴趣的:(spring)