Spring IoC简化设计与开发
IoC是什么
IoC-Inversion of Control,即”控制反转”,不是什么技术,而是一种设计思想。Java开发中,IoC意味着将设计好的对象交给IoC容器控制,不再是传统的在对象内部直接控制。
- 谁控制谁,控制什么传统Java SE程序中,直接在对象内部通过new创建对象,由程序主动去创建依赖对象;IoC机制有专门的一个容器来创建这些对象,由IoC容器来控制对象的创建;谁控制谁?IoC容器控制对象;控制什么?主要控制了外部资源的获取(不只是对象包括比如文件等)
- 为何是反转,哪些方面反转了传统的应用程序,在对象中主动控制去直接获取依赖对象,也就是正转;反转则是由IoC容器帮忙创建及注入依赖对象;为何是反转?由容器进行查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了
IoC能做什么
传统的应用程序在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;
IoC容器,把创建和查找依赖对象的控制权交给了容器,由容器进行注入,组合对象,所以对象与对象间是松耦合;
IoC很好的体现了面向对象设计法则之一 ——好莱坞法则:别找我们,我们找你;即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找
使用Spring ApplicationContext 容器编写Main文件,并修改hello.xml文件,使其最终能够正确输出Hello World!


