spring boot容器启动
2016-08-18 09:27:14 0 举报
Spring Boot是一个基于Java的开源框架,它能够简化Spring应用程序的创建、配置和部署过程。当启动一个Spring Boot应用程序时,它会创建一个内嵌的Web服务器(如Tomcat),并将应用程序打包成一个可执行的JAR文件。这样,用户只需通过命令行运行这个JAR文件,就可以启动整个应用程序。 Spring Boot容器启动后,它会加载应用程序的配置信息,包括数据库连接、端口号等。然后,它会扫描应用程序中的类,自动配置Spring组件,如数据源、事务管理器等。最后,它会启动内嵌的Web服务器,监听指定的端口号,等待客户端的请求。
作者其他创作
大纲/内容
设置ApplicationContext为org.springframework.context.annotation.AnnotationConfigApplicationContext
发布prepare事件给所有Listener
run开始
Spring Core
谁把spring.properties放到jar包下的??
EventPublishingRunListenerEventPublishingRunListener事件发布监听器
扫描根路径下所有包中的spring.factories文件,从中加载ApplicationListener的所有Listener实现类
开启StopWatch(为了提高代码可读性而写的一个统计时间的东东)
SpringApplication启动类
加载resource
准备环境Environment
Spring Context
SharedMetadataReaderFactoryContextInitializerDelegatingApplicationContextInitializerContextIdApplicationContextInitializerConditionEvaluationReportLoggingListenerConfigurationWarningsApplicationContextInitializerServerPortInfoApplicationContextInitializerCustomApplicationContextInitializerApolloApplicationContextInitializer
Spring Boot
设置ApplicationContextInitializer
设置入口类
AnnotationConfigApplicationContext
创建AnnotationApplicationContext
ApplicationConversionService
初始化所有的ApplicationContextInitializer
构造SpringApplication对象
发布start事件
使用反射方式实例化对象,newInstance
扫描根路径下所有包中的spring.factories文件,从中加载ApplicationContextInitializer的所有Factory实现类
StopWatch
推断应用类型,NONE,SERVLET,REACTIVE通过判断类路径下是否有springframework.web.reactive.DispatcherHandler,ConfigurableWebApplicationContext 等来判断
SpringFactoriesLoader
加载servletConfigInitParamsservletContextInitParamsjndiPropertiessystemPropertiessystemEnvironment
prepareContext
加载META-INF下的spring.properties文件
设置ApplicationListener
PropertiesLoaderUtils
0 条评论
下一页