一:什么是IOC容器?
springIOC就是控制反转,意思开发者以配置文件(xml文件)或者配置类(java类)的方式,告诉容器如何创建对象,并对对象属性进行填充。
二:SpringIOC容器加载流程简单说明(故事说明)
springIOC容器可以看成是一个创建对象的工厂(中文名:对象工厂;英文名:BeanFactory)。
我们有了对象工厂,但是对象工厂缺少一个搬运员工搬运创建对象需要的原材料。
搬运员工将创建对象的原材料搬运过来之后,问对象工厂材料给你放在哪里呀?工厂对象说放到这个材料容器里面,但是对象工厂又加了一个条件,说这些材料需要搬运工处理之后才能放进材料容器里。然后对象工厂根据处理后的材料创建对象。对象工厂创建完对象之后将对象放在名叫singletonObjects的容器里。现在对象工厂只需要给用户提供一个接口来获取对象就行。接口名叫getBean()。
对象工厂:BeanFactory
搬运工:BeanDefinitionReader
原材料:配置文件和java配置类
处理后的原材料:BeanDefinition
存放处理后的原材料容器:BeanDefinitionMap
访问对象的接口:getBean
下面画一张图来表示。
对象定义读取器(BeanDefinitionReader)将java配置类或者xml文件读取成BeanDefinition,存放到BeanFactory的BeanDefinitionMap里。BeanFactory根据BeanDefinition创建对象。将创建完成后的对象存放到singletonObjects容器里。用户通过getBean接口获取Bean对象。