简介:
SpringIOC容器实例化的对象,SpringIOC容器管理的对象就是Bean。
创建Bean源码分析
执行AbstractApplicationContext 的 refresh()方法;
refresh()方法调用prepareRefresh()方法;
refresh()方法调用prepareBeanFactory(beanFactory)方法;
refresh()方法调用postProcessBeanFactory(beanFactory)方法,无任何代码实现;
*refresh()方法调用invokeBeanFactoryPostProcessors(beanFactory)方法;
invokeBeanFactoryPostProcessors(beanFactory)方法执行BeanFactoryPostProcessor后置处理器及其子接口BeanDefinitionRegistryPostProcessor【先执行BeanDefinitionRegistryPostProcessor接口的postProcessBeanDefinitionRegistry()方法会扫描到指定包下面的标有注解的类,然后将其变成BeanDefinition对象再放入BeanDefinitionMap中;再执行 BeanFactoryPostProcessor接口的postProcessBeanFactory()方法】
*refresh()方法调用registerBeanPostProcessors(beanFactory)方法实现了PriorityOrdered、Ordered接口,排序后注册所有的Bean



