beanFactory的准备工作

对各种属性进行填充
image.png

addPropertyEditorRegistrar()

为beanFactory增加一个默认的propertyEditor,这个主要是对bean的属性等设置管理的一个工具类,添加属性编辑注册器,此处可以自定义扩展,放入成员变量propertyEditorRegistrars这个数组即可
image.png
另一种自定义扩展的方式,可以继承PropertyEditorSupport类,将子类放入成员变量customEditors这个map中image.png

addBeanPostProcessor()

添加beanPostProcessor,ApplicationContextAwareProcessor此类用来完成某些Aware对象的注入,BeanPosProcessor应用于createBeanimage.png

new ApplicationContextAwareProcessor()

此类用来完成以下功能,向某些实现了Aware的接口的bean设置ApplicationContext中的相应属性

  • EnvironmentAware
  • EmbeddedValueResolverAware
  • ResourceLoaderAware
  • ApplicationEventPublisherAware
  • MessageSourceAware
  • ApplicationContextAware

image.png
接口beanPostProcessor规定的方法,会在bean创建时,实例化后,初始化前,对bean对象应用
image.png
如果某个bean实现了某个aware接口,给指定的bean设置相应的属性值image.png
上方已处理过这些接口,此处需要忽略image.png
设置几个自动装配的特殊规则,当在进行ioc初始化的如果有多个实现,那么就使用指定的对象进行注入image.png