Spring ioc 详细概述(面试的详细回答)
Spring ioc 详细概述(面试的详细回答)
(面试问题我们一般从四个方面来回答①为什么要使用②是什么③怎么用④在哪里用)
为什么需要IOC?
1.效率方面
传统上创建对象都需要自己new出来,而ioc是将new对象的控制权交给工厂,由工厂来创建,相比于传统的方法,效率提升了很多。
2.管理对象方面
如果对象之间存在很多依赖关系,那么当需要修改维护其中一个对象时,会导致所有的对象都需要修改,牵一发而动全身。而ioc减少了代码之间的耦合,更好的管理对象。
IOC是什么?
ioc的全英文名是:Inversion Of Control ,直译过来就是控制反转,控制反转是把传统上由程序代码直接操控对象(new对象)的调用权交给ioc容器,由容器来实现对象的创建,依赖,销毁,初始化等等。
这里都说到了ioc容器,那么他的初始化流程和功能是什么呢?
IOC容器的初始化流程
1.spring启动之后,读取xml配置信息、注解、java类,将每一个bean配置解析为一个BeanDefinition对象,再将所有的B