spring-boot
2020-09-21 19:27:54 6 举报
spring-boot#run启动
作者其他创作
大纲/内容
SpringApplication(primarySources).run(args);
启动容器
AnnotationConfigServletWebServerApplicationContext
GenericApplicationContext
spring-web
run
执行Spring容器初始化的后置逻辑(空方法)
启动入口,返回ConfigurableApplicationContext
AnnotationConfigApplicationContext
Servlet
继承
调用{@link ApplicationRunner} 或者{@link CommandLineRunner} 的run方法(扩展用)
context.registerShutdownHook();
refreshContext(context);
xml
AnnotationConfigReactiveWebServerApplicationContext
@SpringBootApplication主启动类
spring-boot
AbstractApplicationContext
createApplicationContext
从META-INF/spring.factories获得 SpringApplicationRunListener列表, 并启动监听容器的状态(相当于日志,告诉状态),发布对应的事件
准备上下文, 调用所有初始化类的 #initialize(...) 方法
SpringApplication
getRunListeners(args)
spring的流程
根据webApplicationType创建 Spring 容器
SpringApplication#run
AnnotationConfigWebApplicationContext
注册ShutdownHook钩子,用于spring容器关闭时,销毁相应的bean
refresh(context);
Reactive
spring
注解(java config)
ClassPathXmlApplicationContext()
none(普通的ioc容器)
收藏
0 条评论
回复 删除
下一页