-
Spring IOC理解,原理,实现
控制反转:原来的对象由程序员自己创建,维护,现在交给Spring容器进行管理维护
DI:依赖注入,把对应的属性值注入到具体的对象中,@Autowired,populateBean完成属性值得注入
Spring容器:使用map结构来存储来存储对象,在Spring中一般有三级缓存,一级缓存(singletonObjects)存放完整的bean对象,整个对象的生命周期,从创建到销毁全部是由容器来管理
Bean创建过程:1,加载解析bean对象(xml或者注解的解析过程)准备要创建创建的bean对象的定义对象beanDefinition。2,调用beanFactoryPostProcessor接口进行处理beanDefinition对象(扩展点)。3,beanFactory通过反射的方式将beanDefinition对象实例化成具体的bean对象(半成品)。4,对象的初始化过程(调用aware子类的方法,调用BeanPostProcessor做前置处理,调用init-mehtod方法,调用BeanPostProcessor进行后置处理)5,生成完整的bean对象,通过getBean方法可以直接获取。6,销毁过程



