
- 启动spring框架,创建springApplication实例。
-
- springapplication实例作用,是spring的应用,是通过多种资源去读取beans,可以用通过AnnotatedBeanDefinitionReader、XmlBeanDefinitionReader、ClassPathBeanDefinitionScanner方式。
- 实例化springApplication分别初始化
-
- primarySources为启动类的集合,
- webApplicationType 这个很重要,如果在你启动的时候,没有引入javax.servlet.Servlet包含这个包,那么将要推断的webApplicationType类型为NONE(The application should not run as a web application and should not start an embedded web server.)那么系统将启动不起来。(springboot 项目启动成功之后,立即链接中断踩坑_hshpy的博客-优快云博客)
-
- 设置springApplication里面的initializers字段为ApplicationContextInitializer数据,这个数据的来源是当前类加载器下面所有的META-INF/spring.factories实现ApplicationContextInitializer子类进行实例化。
- 设置springApplication里面的listeners字段为ApplicationListener数据,这个数据的来源是当前类加载器下面所有的META-INF/spring.factories实现ApplicationListener子类进行实例化。
-
- 初始化mainApplicationClass根据堆栈推断出来main启动类的对象,返回赋值。
本文详细解析了SpringApplication的作用及其在启动过程中的关键步骤,包括初始化primarySources、webApplicationType,以及如何通过ApplicationContextInitializer和ApplicationListener进行配置。同时,强调了webApplicationType对启动成功与否的影响,并指出缺少Servlet相关包可能导致启动失败。
1205

被折叠的 条评论
为什么被折叠?



