springboot启动流程
2020-10-25 17:08:02 0 举报
springboot
作者其他创作
大纲/内容
通过递归扫描所有@Configuration类的@import注解
在bean工厂中注册servlet开关
processConfigBeanDefinitions
invokeBeanFactoryPostProcessors(beanFactory);
finishBeanFactoryInitialization(beanFactory);
创建为未创建的单例非懒加载非抽象的bean
ServletWebServerFactory factory = getWebServerFactory();
之前做一些初始化工作
执行自动装配的扩展
未实现,可以做一些扩展
开始注解扫描配置
通过扫描到的import中的类,从META-INFO/spring.factories中找到EnableAutoConfiguration所有自动装配类并删除不需要的
onRefresh();
Set<MethodMetadata> beanMethods = retrieveBeanMethodMetadata(sourceClass);
扫描处理所有@Import注解的(自动装配)
run
做一些环境容器准备工作
handler.processGroupImports();
实例化需要的自动装配类
parser.parse(candidates);
this.deferredImportSelectorHandler.process();
refreshContext
new一个Tomcat容器(默认tomcat容器),设置初始化参数并且启动
refreshContext之前
this.webServer = factory.getWebServer(getSelfInitializer());
初始化servlet容器
扫描所有@Component注解的配放入容器中
扫描所有@Bean标注的方法
扫描所有@ ImportResource标注的类
从bean工厂中获取servlet容器工厂
首先处理有@PropertySource注解的类
0 条评论
下一页