1.new ioc容器(AnnotationConfigApplicationContext 注解ioc)
2.refresh()方法调用
2.1 prepareRefresh()刷新前的预处理
a:initPropertySources();
b:getEnvironment().validateRequiredProperties();初始化信息的校验
c:earlyApplicationEvents 事件触发准备器
2.2 obtainFreshBeanFactory() 获取beanfactory
a:refreshBeanFactory();刷新beanfactory 穿建了一个 this.beanFactory = new DefaultListableBeanFactory(); 并设置id
b:getBeanFactory();返回上面创建的beanfactory;
2.3 prepareBeanFactory(beanFactory); beanfactory的预准备工作;类加载器 ,解析器,beanpostprocessor;可以解析的自动装配;
2.4 beanfactoryPostProcessor
a:子类通过重写这个方法来在beanfactory创建预准备完成做进一步设置。
**************************************************************************************************BeanFactory的创建以及预准备工作***************************************************************************************************
2.5:invokeBeanFactoryPostProcessors(beanFactory); beanfactory的后置处理器 ,在beanfactory标准初始化之后执行
a:BeanDefinitionRegistry
2.6 registerBeanPostProcessors(beanFactory); 注册beanpostprocessor