0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

springboot啟動流程

科技綠洲 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2023-11-22 16:04 ? 次閱讀

Spring Boot 是一個快速開發(fā)框架,基于 Spring 框架,用于簡化項目的配置和部署。它提供了自動配置、嵌入式服務(wù)器和一套默認(rèn)的代碼結(jié)構(gòu),使得開發(fā)者可以快速地開發(fā)和部署應(yīng)用程序。

Spring Boot 的啟動流程可以分為以下幾個步驟:初始化啟動環(huán)境、加載自動配置類、創(chuàng)建 Spring 上下文、啟動嵌入式服務(wù)器。

  1. 初始化啟動環(huán)境
    在 Spring Boot 啟動時,首先會初始化啟動環(huán)境。它會加載一些必要的配置和資源,例如日志配置、環(huán)境變量等。這些配置和資源將為后續(xù)的自動配置和應(yīng)用程序提供必要的支持。
  2. 加載自動配置類
    Spring Boot 提供了一系列的自動配置類,用于根據(jù)應(yīng)用程序的類路徑和依賴關(guān)系,自動配置應(yīng)用程序的各種功能和組件。利用這些自動配置類,可以減少開發(fā)者的配置工作,提高開發(fā)效率。

在加載自動配置類時,Spring Boot 會根據(jù)一定的條件進(jìn)行判斷,并只加載符合條件的自動配置類。這些條件可以通過配置文件進(jìn)行調(diào)整,以滿足特定的需求。加載自動配置類后,會將這些配置類中的配置信息保存在一個配置對象中,供后續(xù)使用。

  1. 創(chuàng)建 Spring 上下文
    在加載完自動配置類后,Spring Boot 會創(chuàng)建 Spring 上下文。Spring 上下文是 Spring 框架的核心部分,它負(fù)責(zé)管理應(yīng)用程序的各個組件,例如 Bean 的創(chuàng)建、依賴注入等。

Spring Boot 使用了一個特殊的 Spring 上下文,稱為 SpringApplication 上下文。它繼承了 Spring 的 AnnotationConfigApplicationContext,并添加了一些特定的功能,例如自動配置和命令行參數(shù)處理等。SpringApplication 上下文的創(chuàng)建會加載之前保存的配置對象,并使用這些配置對象進(jìn)行初始化。同時,它也會掃描應(yīng)用程序的類路徑,以發(fā)現(xiàn)和創(chuàng)建各種 Bean。

  1. 啟動嵌入式服務(wù)器
    最后一步是啟動嵌入式服務(wù)器。Spring Boot 提供了一系列的嵌入式服務(wù)器,例如 Tomcat、Jetty 等。開發(fā)者可以根據(jù)需求選擇適合自己項目的服務(wù)器。

啟動嵌入式服務(wù)器時,Spring Boot 會根據(jù)配置文件中的端口號和其他配置信息,啟動相應(yīng)的服務(wù)器,并將應(yīng)用程序部署到服務(wù)器中。服務(wù)器啟動后,應(yīng)用程序就可以通過訪問服務(wù)器的端口號來訪問。

除了以上的步驟,Spring Boot 還提供了一些其他的功能,例如自動裝配和熱部署。自動裝配可以根據(jù)依賴關(guān)系動態(tài)地注入相應(yīng)的 Bean,而熱部署則可以在修改代碼后,快速地重新部署應(yīng)用程序,以提高開發(fā)效率。

總結(jié)起來,Spring Boot 的啟動流程包括初始化啟動環(huán)境、加載自動配置類、創(chuàng)建 Spring 上下文和啟動嵌入式服務(wù)器。通過這些步驟,開發(fā)者可以快速地啟動和部署應(yīng)用程序。同時,Spring Boot 還提供了一些其他的功能,以進(jìn)一步簡化開發(fā)過程。這使得 Spring Boot 成為開發(fā)者開發(fā)應(yīng)用程序的首選框架之一。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5053

    文章

    18915

    瀏覽量

    300866
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    397

    瀏覽量

    17363
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4697

    瀏覽量

    68093
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    153
收藏 人收藏

    評論

    相關(guān)推薦

    SpringBoot中的Druid介紹

    SpringBoot中Druid數(shù)據(jù)源配置
    發(fā)表于 05-07 09:21

    SpringBoot知識總結(jié)

    SpringBoot干貨學(xué)習(xí)總結(jié)
    發(fā)表于 08-01 10:40

    怎么學(xué)習(xí)SpringBoot

    SpringBoot學(xué)習(xí)之路(X5)- 整合JPA
    發(fā)表于 06-10 14:52

    怎樣去使用springboot

    怎樣去使用springboot呢?學(xué)習(xí)springboot需要懂得哪些?
    發(fā)表于 10-25 07:13

    SpringBoot嵌入式Servlet容器啟動原理是什么

    SpringBoot嵌入式Servlet容器啟動原理思維導(dǎo)圖
    發(fā)表于 12-20 07:26

    SpringBoot應(yīng)用啟動運行run方法

    什么時候創(chuàng)建嵌入式的Servlet容器工廠?什么時候獲取嵌入式的Servlet容器并啟動Tomcat;獲取嵌入式的Servlet容器工廠:1)、SpringBoot應(yīng)用啟動運行run方法2
    發(fā)表于 12-20 06:16

    嵌入式Servlet容器啟動原理

    SpringBoot源碼學(xué)習(xí)系列之嵌入式Servlet容器啟動原理SpringBoot的自動配置就是SpringBoot的精髓所在,對于Spring
    發(fā)表于 12-22 07:23

    基于ARM的Bootloader啟動流程研究

    基于ARM的Bootloader啟動流程研究
    發(fā)表于 10-30 16:22 ?10次下載
    基于ARM的Bootloader<b class='flag-5'>啟動</b><b class='flag-5'>流程</b>研究

    SpringBoot如何實現(xiàn)啟動過程中執(zhí)行代碼

    目前開發(fā)的SpringBoot項目在啟動的時候需要預(yù)加載一些資源。而如何實現(xiàn)啟動過程中執(zhí)行代碼,或啟動成功后執(zhí)行,是有很多種方式可以選擇,我們可以在static代碼塊中實現(xiàn),也可以在構(gòu)
    的頭像 發(fā)表于 06-20 17:32 ?1387次閱讀

    說說SpringBoot啟動流程

    首先從main找到run()方法,在執(zhí)行run()方法之前new一個SpringApplication對象
    的頭像 發(fā)表于 03-28 17:52 ?1410次閱讀

    什么是 SpringBoot

    本文從為什么要有 `SpringBoot`,以及 `SpringBoot` 到底方便在哪里開始入手,逐步分析了 `SpringBoot` 自動裝配的原理,最后手寫了一個簡單的 `start` 組件,通過實戰(zhàn)來體會了 `
    的頭像 發(fā)表于 04-07 11:28 ?1228次閱讀
    什么是 <b class='flag-5'>SpringBoot</b>?

    SpringBoot的核心注解1

    今天跟大家來探討下SpringBoot的核心注解@SpringBootApplication以及run方法,理解下springBoot為什么不需要XML,達(dá)到零配置
    的頭像 發(fā)表于 04-07 14:34 ?643次閱讀
    <b class='flag-5'>SpringBoot</b>的核心注解1

    SpringBoot的核心注解2

    今天跟大家來探討下SpringBoot的核心注解@SpringBootApplication以及run方法,理解下springBoot為什么不需要XML,達(dá)到零配置
    的頭像 發(fā)表于 04-07 14:34 ?1899次閱讀
    <b class='flag-5'>SpringBoot</b>的核心注解2

    使用springboot完成流程的業(yè)務(wù)功能

    圖 使用springboot開發(fā)流程使用的接口完成流程的業(yè)務(wù)功能 基于 Spring Boot + MyBatis Plus + Vue Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC
    的頭像 發(fā)表于 05-15 17:40 ?640次閱讀
    使用<b class='flag-5'>springboot</b>完成<b class='flag-5'>流程</b>的業(yè)務(wù)功能

    STM32的完整啟動流程分析

    STM32的完整啟動流程分析
    的頭像 發(fā)表于 10-25 16:00 ?1256次閱讀
    STM32的完整<b class='flag-5'>啟動</b><b class='flag-5'>流程</b>分析