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

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

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

springboot啟動(dòng)流程

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

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

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

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

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

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

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

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

啟動(dòng)嵌入式服務(wù)器時(shí),Spring Boot 會(huì)根據(jù)配置文件中的端口號(hào)和其他配置信息,啟動(dòng)相應(yīng)的服務(wù)器,并將應(yīng)用程序部署到服務(wù)器中。服務(wù)器啟動(dòng)后,應(yīng)用程序就可以通過(guò)訪問(wèn)服務(wù)器的端口號(hào)來(lái)訪問(wèn)。

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

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

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

    關(guān)注

    5046

    文章

    18817

    瀏覽量

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

    關(guān)注

    0

    文章

    396

    瀏覽量

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

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67767
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    145
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SpringBoot中的Druid介紹

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

    SpringBoot知識(shí)總結(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容器啟動(dòng)原理是什么

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

    SpringBoot應(yīng)用啟動(dòng)運(yùn)行run方法

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

    嵌入式Servlet容器啟動(dòng)原理

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

    基于ARM的Bootloader啟動(dòng)流程研究

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

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

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

    說(shuō)說(shuō)SpringBoot啟動(dòng)流程

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

    什么是 SpringBoot?

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

    SpringBoot的核心注解1

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

    SpringBoot的核心注解2

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

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

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

    STM32的完整啟動(dòng)流程分析

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