Spring容器的创建原理

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 

 

posted on 2019-05-08 09:29  闯入你笑颜  阅读(115)  评论(0编辑  收藏  举报

导航