Spring Boot 之嵌入式 Web 容器启动原理
2021-12-26 23:40:58 0 举报
登录查看完整内容
Spring Boot 之嵌入式 Web 容器启动原理
作者其他创作
大纲/内容
从容器中获取
② TomcatWebServerFactoryCustomizer配置文件修改器,读取 ServerProperties 配置文件进定制化
从容器中获取所有的定制化器
@Import(ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar.class)它实现了 ImportBeanDefinitionRegistrar 接口
@Import(ServletWebServerFactoryConfiguration.EmbeddedTomcat.class)
在 Spring 的 onRefresh() 里调用这个方法
ServletWebServerApplicationContext.createWebServer()创建 WebServer 容器
registerBeanDefinitions()判断容器中是否存在 WebServerFactoryCustomizerBeanPostProcessor,没有就注入一个
执行 bean 后置处理器
ServletWebServerApplicationContext.onRefresh()web 环境的 Spring 上下文处理器有特殊处理
EmbeddedWebServerFactoryCustomizerAutoConfiguration 自动装配类
向容器中注入 TomcatServletWebServerFactory
ServletWebServerApplicationContext.getWebServerFactory()从容器中获取所有的 ServletWebServerFactory 类型
① postProcessBeforeInitialization()从容器中获取所有的定制化器,包括基于配置文件的 TomcatWebServerFactoryCustomizer 定制化器,调用 customize() 方法定制化
AnnotationConfigServletWebServerApplicationContext.refresh()Spring Boot 容器启动
ServletWebServerFactoryAutoConfiguration 自动装配类
0 条评论
回复 删除
下一页