久久午夜无码,国产中文资源,Chinese熟女熟妇2乱2,高清五码d一区

當(dāng)前位置:首頁 > 軟件開發(fā) > 正文

springboot執(zhí)行流程(springboot程序怎么運(yùn)行)

springboot執(zhí)行流程(springboot程序怎么運(yùn)行)

本篇文章給大家談?wù)剆pringboot執(zhí)行流程,以及springboot程序怎么運(yùn)行對(duì)應(yīng)的知識(shí)點(diǎn),文章可能有點(diǎn)長,但是希望大家可以閱讀完,增長自己的知識(shí),最重要的是希望...

本篇文章給大家談?wù)剆pringboot執(zhí)行流程,以及springboot程序怎么運(yùn)行對(duì)應(yīng)的知識(shí)點(diǎn),文章可能有點(diǎn)長,但是希望大家可以閱讀完,增長自己的知識(shí),最重要的是希望對(duì)各位有所幫助,可以解決了您的問題,不要忘了收藏本站喔。

SpringBoot究竟是如何跑起來的

如果我們使用的是SpringApplication的靜態(tài)run方法,那么,這個(gè)方法里面首先要?jiǎng)?chuàng)建一個(gè)SpringApplication對(duì)象實(shí)例,然后調(diào)用這個(gè)創(chuàng)建好的SpringApplication的實(shí)例方法。在SpringApplication實(shí)例初始化的時(shí)候,它會(huì)提前做幾件事情:

根據(jù)classpath里面是否存在某個(gè)特征類(org.springframework.web.context.ConfigurableWebApplicationContext)來決定是否應(yīng)該創(chuàng)建一個(gè)為Web應(yīng)用使用的ApplicationContext類型。

使用SpringFactoriesLoader在應(yīng)用的classpath中查找并加載所有可用的ApplicationContextInitializer。

使用SpringFactoriesLoader在應(yīng)用的classpath中查找并加載所有可用的ApplicationListener。

推斷并設(shè)置main方法的定義類。

2)SpringApplication實(shí)例初始化完成并且完成設(shè)置后,就開始執(zhí)行run方法的邏輯了,方法執(zhí)行伊始,首先遍歷執(zhí)行所有通過SpringFactoriesLoader可以查找到并加載的SpringApplicationRunListener。調(diào)用它們的started()方法,告訴這些SpringApplicationRunListener,“嘿,SpringBoot應(yīng)用要開始執(zhí)行咯!”。

3)創(chuàng)建并配置當(dāng)前SpringBoot應(yīng)用將要使用的Environment(包括配置要使用的PropertySource以及Profile)。

4)遍歷調(diào)用所有SpringApplicationRunListener的environmentPrepared()的方法,告訴他們:“當(dāng)前SpringBoot應(yīng)用使用的Environment準(zhǔn)備好了咯!”。

5)如果SpringApplication的showBanner屬性被設(shè)置為true,則打印banner。

6)根據(jù)用戶是否明確設(shè)置了applicationContextClass類型以及初始化階段的推斷結(jié)果,決定該為當(dāng)前SpringBoot應(yīng)用創(chuàng)建什么類型的ApplicationContext并創(chuàng)建完成,然后根據(jù)條件決定是否添加ShutdownHook,決定是否使用自定義的BeanNameGenerator,決定是否使用自定義的ResourceLoader,當(dāng)然,最重要的,將之前準(zhǔn)備好的Environment設(shè)置給創(chuàng)建好的ApplicationContext使用。

7)ApplicationContext創(chuàng)建好之后,SpringApplication會(huì)再次借助Spring-FactoriesLoader,查找并加載classpath中所有可用的ApplicationContext-Initializer,然后遍歷調(diào)用這些ApplicationContextInitializer的initialize(applicationContext)方法來對(duì)已經(jīng)創(chuàng)建好的ApplicationContext進(jìn)行進(jìn)一步的處理。

8)遍歷調(diào)用所有SpringApplicationRunListener的contextPrepared()方法。

9)最核心的一步,將之前通過@EnableAutoConfiguration獲取的所有配置以及其他形式的IoC容器配置加載到已經(jīng)準(zhǔn)備完畢的ApplicationContext。

10)遍歷調(diào)用所有SpringApplicationRunListener的contextLoaded()方法。

11)調(diào)用ApplicationContext的refresh()方法,完成IoC容器可用的最后一道工序。

12)查找當(dāng)前ApplicationContext中是否注冊(cè)有CommandLineRunner,如果有,則遍歷執(zhí)行它們。

13)正常情況下,遍歷執(zhí)行SpringApplicationRunListener的finished()方法、(如果整個(gè)過程出現(xiàn)異常,則依然調(diào)用所有SpringApplicationRunListener的finished()方法,只不過這種情況下會(huì)將異常信息一并傳入處理)

springboot啟動(dòng)原理流程

SpringBoot是SpringFramework的一個(gè)擴(kuò)展,它簡(jiǎn)化了Spring應(yīng)用程序的開發(fā)和部署流程,并提供了一種快速創(chuàng)建可獨(dú)立運(yùn)行Spring應(yīng)用程序的方式。下面是SpringBoot啟動(dòng)原理的簡(jiǎn)單流程:

1.啟動(dòng)類(MainClass)的加載

SpringBoot應(yīng)用程序的啟動(dòng)類是一個(gè)Java類,其中包含了main()方法,它是整個(gè)應(yīng)用程序的入口。在啟動(dòng)過程中,Java虛擬機(jī)(JVM)會(huì)首先加載該類。

2.SpringBoot環(huán)境的準(zhǔn)備

在啟動(dòng)類加載完成后,SpringBoot會(huì)在應(yīng)用程序的classpath中查找application.properties或application.yml文件,讀取其中的配置信息,然后初始化Spring環(huán)境并創(chuàng)建ApplicationContext對(duì)象。此外,SpringBoot還會(huì)自動(dòng)掃描所有帶有注解的類,并將它們注冊(cè)到Spring容器中。

3.SpringBoot的自動(dòng)配置

SpringBoot具有一套智能的自動(dòng)配置機(jī)制,可以根據(jù)應(yīng)用程序所使用的依賴庫和配置文件自動(dòng)配置SpringBean。例如,如果應(yīng)用程序中引入了Hibernate,SpringBoot會(huì)根據(jù)Hibernate的依賴信息自動(dòng)配置一個(gè)SessionFactoryBean。這樣,開發(fā)人員就無需手動(dòng)配置這些Bean,可以更加專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。

4.SpringApplication的啟動(dòng)

當(dāng)SpringBoot環(huán)境準(zhǔn)備好之后,就會(huì)創(chuàng)建一個(gè)SpringApplication對(duì)象。該對(duì)象負(fù)責(zé)啟動(dòng)SpringBoot應(yīng)用程序,并將所有Bean注冊(cè)到Spring容器中。它還可以接收并處理控制臺(tái)命令行參數(shù),以及在應(yīng)用程序啟動(dòng)和關(guān)閉時(shí)執(zhí)行一些回調(diào)方法。

5.實(shí)例化Web容器

如果應(yīng)用程序是一個(gè)Web應(yīng)用程序,則SpringBoot會(huì)自動(dòng)實(shí)例化嵌入式Web服務(wù)器,如Tomcat、Jetty或Undertow等。SpringBoot將創(chuàng)建WebServer對(duì)象,并將所有Servlet、Filter和Listener注冊(cè)到其中。最后,Web容器會(huì)啟動(dòng),并開始監(jiān)聽來自客戶端的HTTP請(qǐng)求。如果應(yīng)用程序不是Web應(yīng)用程序,則這一步可以略過。

6.應(yīng)用程序啟動(dòng)完成

當(dāng)Web容器啟動(dòng)之后,應(yīng)用程序就開始監(jiān)聽來自客戶端的HTTP請(qǐng)求,并根據(jù)配置文件中的路由規(guī)則進(jìn)行處理。此時(shí),應(yīng)用程序已經(jīng)啟動(dòng)完成,并可以提供相關(guān)的服務(wù)。如果應(yīng)用程序需要結(jié)束,可以通過調(diào)用SpringApplication對(duì)象的close()方法來關(guān)閉Spring容器和Web容器并釋放資源。

以上就是SpringBoot啟動(dòng)原理的基本流程,整個(gè)過程涉及到了多個(gè)組件和技術(shù)點(diǎn),包括Java虛擬機(jī)、SpringFramework、Web容器等。了解這些原理可以幫助開發(fā)者更好地理解和使用SpringBoot。

如何啟動(dòng)springboot

啟動(dòng)SpringBoot項(xiàng)目的方式有以下幾種:

1.通過IDE啟動(dòng):在IDE中打開項(xiàng)目,找到入口類,右鍵點(diǎn)擊運(yùn)行即可。不同的IDE啟動(dòng)方式可能略有不同,可以參考相應(yīng)的文檔。

2.通過命令行啟動(dòng):在項(xiàng)目的根目錄下,使用命令行輸入`mvnspring-boot:run`或`./gradlewbootRun`即可啟動(dòng)項(xiàng)目。需要確保已經(jīng)安裝了Maven或Gradle,且配置了相應(yīng)的環(huán)境變量。

3.打包部署:使用Maven或Gradle打包項(xiàng)目,生成可執(zhí)行的JAR包或WAR包,然后通過命令行啟動(dòng)。執(zhí)行命令:`java-jaryour-project.jar`,即可啟動(dòng)項(xiàng)目。需要注意的是,使用該方式啟動(dòng)項(xiàng)目時(shí),需要確保已經(jīng)安裝了Java運(yùn)行環(huán)境,并配置了相應(yīng)的環(huán)境變量。

以上是啟動(dòng)SpringBoot項(xiàng)目的幾種常見方式,選擇哪種方式啟動(dòng)視具體情況而定。

xhell部署項(xiàng)目后如何啟動(dòng)springboot項(xiàng)目

在xhell部署項(xiàng)目后,可以通過以下步驟啟動(dòng)springboot項(xiàng)目:

首先,進(jìn)入項(xiàng)目所在目錄,使用命令行工具執(zhí)行“java-jar項(xiàng)目名稱.jar”命令,啟動(dòng)項(xiàng)目;

其次,等待項(xiàng)目啟動(dòng)完成后,在瀏覽器中輸入“http://localhost:8080”訪問項(xiàng)目。如果需要后臺(tái)運(yùn)行項(xiàng)目,可以使用nohup命令將項(xiàng)目放到后臺(tái)運(yùn)行。

spring boot菜鳥教程

SpringBoot菜鳥教程:

1、SpringBoot基礎(chǔ):了解SpringBoot的技術(shù)架構(gòu),SpringBoot的核心功能,SpringBoot的應(yīng)用場(chǎng)景,以及如何使用SpringBoot開發(fā)應(yīng)用程序。

2、SpringBoot快速入門:學(xué)習(xí)如何使用SpringInitializr創(chuàng)建SpringBoot應(yīng)用程序,設(shè)置SpringBoot項(xiàng)目的基本設(shè)置,以及SpringBoot應(yīng)用程序的基本功能。

3、SpringBoot組件:學(xué)習(xí)SpringBoot的核心組件,如spring-boot-starter,spring-boot-autoconfigure,spring-boot-actuator等等,以及如何使用它們。

4、SpringBoot開發(fā)技巧:學(xué)習(xí)如何在SpringBoot應(yīng)用程序中使用SpringBoot的高級(jí)功能,比如熱部署,自定義配置,日志管理等等。

5、SpringBoot運(yùn)行環(huán)境:了解SpringBoot的運(yùn)行環(huán)境,如何配置SpringBoot應(yīng)用程序,如何將SpringBoot應(yīng)用程序部署到生產(chǎn)環(huán)境,以及如何在生產(chǎn)環(huán)境中運(yùn)行SpringBoot應(yīng)用程序。

springboot數(shù)據(jù)統(tǒng)計(jì)表怎么做

在SpringBoot中實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)表可以按以下步驟進(jìn)行:1.創(chuàng)建實(shí)體類:創(chuàng)建一個(gè)表示數(shù)據(jù)統(tǒng)計(jì)的實(shí)體類,通過注解定義實(shí)體類的屬性和表結(jié)構(gòu)。2.創(chuàng)建數(shù)據(jù)訪問層(DAO):使用JPA或MyBatis等框架,創(chuàng)建一個(gè)數(shù)據(jù)訪問層的接口和實(shí)現(xiàn)類,用于對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和查詢操作。3.創(chuàng)建服務(wù)層(Service):創(chuàng)建一個(gè)服務(wù)層的接口和實(shí)現(xiàn)類,處理業(yè)務(wù)邏輯,調(diào)用數(shù)據(jù)訪問層進(jìn)行數(shù)據(jù)統(tǒng)計(jì)。4.創(chuàng)建控制器層(Controller):創(chuàng)建一個(gè)控制器類,處理HTTP請(qǐng)求和響應(yīng),調(diào)用服務(wù)層進(jìn)行數(shù)據(jù)統(tǒng)計(jì)的處理,并返回統(tǒng)計(jì)結(jié)果給前端。5.創(chuàng)建前端頁面:在前端頁面中使用相應(yīng)的圖表插件(如echarts、highcharts)展示數(shù)據(jù)統(tǒng)計(jì)的結(jié)果,通過ajax請(qǐng)求后端獲取數(shù)據(jù)并展示到圖表中。6.配置路由和視圖解析器:在SpringBoot的配置文件中配置路由,將請(qǐng)求映射到對(duì)應(yīng)的控制器方法,然后配置視圖解析器,將控制器返回的數(shù)據(jù)渲染到前端頁面。7.運(yùn)行項(xiàng)目:?jiǎn)?dòng)SpringBoot項(xiàng)目,通過訪問前端頁面,在頁面上展示數(shù)據(jù)統(tǒng)計(jì)的結(jié)果。以上是實(shí)現(xiàn)SpringBoot數(shù)據(jù)統(tǒng)計(jì)表的一般步驟,具體根據(jù)項(xiàng)目需求和框架選擇可能有所不同。

OK,本文到此結(jié)束,希望對(duì)大家有所幫助。

亚洲AV永久| 国产精品∧Ⅴ在线观看| 性欧美日韩Free中国| 国产av无码专区亚洲av| 国产一二三囚| 中文字幕人妻不卡专区| 精品久久久无码一区二区黑色丝袜| a无码免费黄色视频| 黄色中日韩欧美| 欧美熟妇精品一区二区三区免费| 亚洲AV成人无码精品| 国产国语刺激对白毛片一| 欧美日韩亚州综合| 久久久久久亚洲AV无码专区事情| 欧美亚洲人成网| 99日韩电影| 亚洲欧美日本国产| 日本欧美一级| 久久成人电影| 久久精品国99| 久久久久久中文字幕人妻Av| 一区二区三区机械有限公司| 一级无码特大黄片| 国产综合色产精品| 亚洲日韩美女久久久| 人妻无码视频区二区三| 国产精品亚洲а∨无码播放麻豆| 亚洲第一三区| 美女久动漫久| 久99久精品视频免费播放| 日本黄色午夜网站| 无码国产99一区二区不卡视频| 国产丰满麻豆VIDEOSSEX| 日本久久一区二区| 亚洲国产精品激情在线观看| 国内久久婷婷五月综合欲色广啪| 成码无人AV片在线观看网站| 欧美A色性色| 丁香五月日韩| 老司机午夜精品久久久| 精品国产极品|