》Sping 两大核心概念 思想
>IoC/DI 控制反转/依赖注入
IOC(控制反转):"控制"就是指对对象的创建、维护、销毁、等生命周期的控制。这个过程一般是由我们的程序去主动的
控制,如使用new关键字去创建一个对象(创建),在使用过程中保持引用(维护),在失去全部引用后由GC去回收对象(销毁)。
"反转"就是指对对象的创建,维护,销毁等生命周期的控制由程序控制改为由IOC容器控制,需要某个对象时就直接通过名字去IOC容器中获取
就是将组件对象的控制权从代码本身转移到外部容器,解决了代码的耦合度,更利于代码的扩展。
DI(依赖注入):是IOC的一种重要实现,一个对象的创建往往会涉及到其他对象的创建,比如一个对象A的成员变量持有另一个对象B的引用,
这就是依赖,A依赖于B,IOC机制既然负责了对象的创建,那么这个依赖关系也要由IOC容器负责,负责的方式就是依赖注入,通过将依赖关系写如配置文件,
然后在创建对象的时,由IOC容器注入依赖的对象,如在创建对象A时,检查到有依赖关系,IOC容器就把A依赖的对象B创建后注入到A中,(通过反射机制实现)
然后把A返回给对象请求者,完成工作
IOC的意义:IOC并没有实现更多的功能,但它的存在使我们不需要很多的代码,不需要考虑对象间复杂的耦合关系就能从IOC容器中获取合适的对象,并且提供了对对象
的可靠的管理,极大地降低了开发的负责性