springboot的启动顺序?
时间: 2023-11-03 12:02:18 浏览: 345
Spring Boot的启动顺序如下:
1. 首先,Spring Boot会扫描并加载所有的配置类。
2. 然后,它会根据配置类中的依赖关系进行初始化,并创建相应的Bean实例。
3. 接下来,它会执行各个Bean的生命周期方法,例如@PostConstruct注解标注的方法。
4. 在Bean初始化完成后,Spring Boot会执行各个自动配置类中的配置方法,来完成对应功能的配置。
5. 最后,Spring Boot会启动内嵌的Tomcat服务器或其他容器,来提供Web服务。
相关问题
liquibase 集成springboot 启动顺序
在介绍liquibase集成Spring Boot的启动顺序之前,先简单介绍一下liquibase和Spring Boot。
Liquibase是一个开源的数据库版本控制工具,它允许开发人员对数据库进行版本管理和迁移。通过使用Liquibase,可以在不丢失数据的情况下对数据库进行结构和数据的变更。
Spring Boot是一个用于简化Spring应用程序开发的框架,它提供了自动配置和约定大于配置的原则,使得开发者可以更加专注于业务逻辑的实现。
当liquibase集成到Spring Boot应用程序中时,启动顺序如下:
1. Spring Boot应用程序启动时,会首先加载并初始化Spring容器。
2. 在Spring容器初始化完成后,会触发liquibase的初始化过程。
3. Liquibase会读取配置文件(如changelog.xml或changelog.yaml)中定义的数据库变更脚本,并与当前数据库的状态进行比对。
4. 如果数据库中不存在Liquibase管理的表(如DATABASECHANGELOG表),则Liquibase会创建这些表。
5. Liquibase会按照配置文件中定义的变更脚本的顺序,依次执行数据库变更操作,包括创建表、修改表结构、插入数据等。
6. 执行完所有的变更脚本后,Liquibase会将执行记录保存到DATABASECHANGELOG表中,以便下次启动时进行比对。
7. Spring Boot应用程序启动完成后,可以正常对数据库进行操作。
springboot启动加载顺序
Spring Boot应用程序的启动流程是一个精心设计的过程,主要包括以下几个步骤:
1. **初始化环境**:首先,Spring Boot会检查系统的环境变量和命令行参数,如`JAVA_OPTS`,以及应用目录下的`application.properties`或`application.yml`文件,设置基础配置。
2. **启动类加载**:找到包含主类的JAR包,并通过类路径加载这个类。Spring Boot会寻找`@SpringBootApplication`注解的类作为主入口。
3. **应用上下文准备**:Spring Boot的核心工具`SpringApplication`会开始构建应用程序上下文(ApplicationContext)。这个过程中,它会解析配置,注册自动配置组件,以及加载依赖。
4. **容器初始化**:Spring框架初始化Spring IoC容器,也就是BeanFactory或ApplicationContext,创建并装配所有的bean。
5. **bean实例化与依赖注入**:根据应用程序上下文,Spring按照依赖关系创建和初始化bean,包括其他bean的依赖项。
6. **生命周期回调**:每个bean在创建后都会经历各种生命周期回调,例如`afterSingletonsInstantiated()`和`afterPropertiesSet()`。
7. **启动服务**:最后,调用主类的`run()`方法,如果有特定的`CommandLineRunner`或`ApplicationRunner`,它们会在启动完成后运行。
8. **关闭日志和监听器**:启动完成后,日志框架和其他监听器会被关闭,整个启动过程结束。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)