文件名称:Spring启动流程.java
文件大小:31KB
文件格式:JAVA
更新时间:2023-07-10 09:52:33
Spring 启动流程 Spring 启动流程
AbstractApplicationContext.refresh(){ 1.为刷新准备此上下文 prepareRefresh(){ initPropertySources();//在上下文环境中初始化任何占位符属性源 getEnvironment().validateRequiredProperties();//验证所有标记为必需的属性都是可解析的 this.earlyApplicationEvents = new LinkedHashSet<>();//保存容器中的一些早期的事件;在下面第10步会发布这些事件。 } 2.告诉子类刷新内部bean工厂。 ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(){ GenericApplicationContext.refreshBeanFactory(){//Do nothing ,设置id this.beanFactory.setSerializationId(getId()); } GenericApplicationContext.getBeanFactory(){ return this.beanFactory= new DefaultListableBeanFactory();//创建一个beanFactory } } 3.准备bean工厂以供在此上下文中使用。配置工厂的标准上下文特征,例如上下文的类加载器和后置处理器。 prepareBeanFactory(beanFactory){ . . .