《Java輕量級(jí)框架技術(shù)與應(yīng)用》 課件 項(xiàng)目三 Spring Boot開(kāi)發(fā)入門(mén)_第1頁(yè)
《Java輕量級(jí)框架技術(shù)與應(yīng)用》 課件 項(xiàng)目三 Spring Boot開(kāi)發(fā)入門(mén)_第2頁(yè)
《Java輕量級(jí)框架技術(shù)與應(yīng)用》 課件 項(xiàng)目三 Spring Boot開(kāi)發(fā)入門(mén)_第3頁(yè)
《Java輕量級(jí)框架技術(shù)與應(yīng)用》 課件 項(xiàng)目三 Spring Boot開(kāi)發(fā)入門(mén)_第4頁(yè)
《Java輕量級(jí)框架技術(shù)與應(yīng)用》 課件 項(xiàng)目三 Spring Boot開(kāi)發(fā)入門(mén)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目三

SpringBoot開(kāi)發(fā)入門(mén)認(rèn)識(shí)SpringBoot目錄Content1SpringBoot程序探究2項(xiàng)目導(dǎo)言零學(xué)習(xí)目標(biāo)零知識(shí)目標(biāo)了解SpringBoot的特點(diǎn);熟悉SpringBoot的開(kāi)發(fā)環(huán)境配置;了解SpringBoot工程目錄結(jié)構(gòu);掌握SpringBoot的自動(dòng)配置方法;熟悉SpringBoot的執(zhí)行流程;了解SpringBoot的Starter的概念與使用;掌握SpringBoot的項(xiàng)目熱部署方法。能力目標(biāo)具備獨(dú)立搭建SpringBoot開(kāi)發(fā)環(huán)境的能力具備為SpringBoot項(xiàng)目添加熱部署與單元測(cè)試的能力。技能目標(biāo)具備精益求精、堅(jiān)持不懈的精神;具有獨(dú)立解決問(wèn)題的能力;具備靈活的思維和處理分析問(wèn)題的能力;具有責(zé)任心。任務(wù)1:SpringBoot壹SpringBoot簡(jiǎn)介任務(wù)技能SpringBoot的核心設(shè)計(jì)思想是“約定優(yōu)于配置”。SpringBoot特點(diǎn)相比較傳統(tǒng)的Spring框架,SpringBoot優(yōu)點(diǎn)更明顯。開(kāi)發(fā)環(huán)境準(zhǔn)備在開(kāi)發(fā)入門(mén)程序之前,有必要對(duì)項(xiàng)日運(yùn)行所需環(huán)境進(jìn)行介紹,并提前準(zhǔn)備完成。任務(wù)1-1:SpringBoot簡(jiǎn)介壹Spring框架是一個(gè)全面的企業(yè)級(jí)應(yīng)用程序開(kāi)發(fā)框架,它提供了許多模塊和組件,包括依賴(lài)注入(DI)、面向切面編程(AOP)、數(shù)據(jù)訪問(wèn)、Web開(kāi)發(fā)、安全等。Spring框架的目標(biāo)是簡(jiǎn)化企業(yè)級(jí)應(yīng)用程序的開(kāi)發(fā),提高開(kāi)發(fā)效率和可維護(hù)性。SpringBoot是Spring框架的一種快速應(yīng)用程序開(kāi)發(fā)框架,它通過(guò)提供自動(dòng)配置和快速啟動(dòng)功能,簡(jiǎn)化了Spring應(yīng)用程序的開(kāi)發(fā)過(guò)程。SpringBoot的目標(biāo)是使開(kāi)發(fā)者能夠更快地構(gòu)建獨(dú)立的、生產(chǎn)級(jí)別的Spring應(yīng)用程序。任務(wù)1-2:SpringBoot特點(diǎn)壹13572468面向生產(chǎn)自動(dòng)配置易于測(cè)試獨(dú)立運(yùn)行約定優(yōu)于配置強(qiáng)大的生態(tài)系統(tǒng)微服務(wù)支持快速啟動(dòng)任務(wù)1-3:開(kāi)發(fā)環(huán)境準(zhǔn)備壹為了方便入門(mén)程序的編寫(xiě),在開(kāi)發(fā)入門(mén)程序之前,有必要對(duì)項(xiàng)日運(yùn)行所需環(huán)境進(jìn)行介紹,并提前準(zhǔn)備完成。JDK環(huán)境根據(jù)SpringBoot官方文檔說(shuō)明,SpringBoot2.1.3版本要求JDK本必須是JDK1.8以上,1項(xiàng)目構(gòu)建工具SpringBoot2.1.3版本官方文檔聲明支持的第三方項(xiàng)目構(gòu)建工具包括Maven(3.3+)和Gradle(4.4+)2開(kāi)發(fā)工具其中IntelliJIDEA是近幾年比較流行的,且業(yè)界評(píng)價(jià)最高的一款Java開(kāi)發(fā)工具3任務(wù)2:SpringBoot程序探究貳工程目錄結(jié)構(gòu)任務(wù)技能springboot的目錄結(jié)構(gòu)SpringBoot自動(dòng)配置使得開(kāi)發(fā)人員可以更加方便地構(gòu)建應(yīng)用程序,而不需要手動(dòng)配置各種組件。SpringBoot執(zhí)行流程SpringBoot常用類(lèi)與接口和執(zhí)行流程SpringBoot的starter將所需的依賴(lài)全部以一致的方式進(jìn)行注入并進(jìn)行統(tǒng)一管理。SpringBoot項(xiàng)目熱部署自動(dòng)重新加載應(yīng)用程序的配置文件和代碼,而無(wú)需手動(dòng)重啟應(yīng)用程序。任務(wù)2-1:工程目錄結(jié)構(gòu)貳新建好的任務(wù)1中springboot的目錄結(jié)構(gòu)如圖。0102任務(wù)2-2:SpringBoot自動(dòng)配置貳SpringBoot的自動(dòng)配置是其一個(gè)非常重要的功能,它使得開(kāi)發(fā)人員可以更加方便地構(gòu)建應(yīng)用程序,而不需要手動(dòng)配置各種組件。SpringBoot應(yīng)用的啟動(dòng)入口是@SpringBootApplication注解標(biāo)注類(lèi)中的main()方法,@SpringBootApplication能夠掃措Spring組件并自動(dòng)配置SpringBoot,自動(dòng)配置示例代碼如下所示。@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters={@Filter(type=FilterType.CUSTOM,classes=TypeExcludeFilter.class), @Filter(type=FilterType.CUSTOM,classes=AutoConfigurationExcludeFilter.class)})public@interfaceSpringBootApplication{...}任務(wù)2-2:SpringBoot自動(dòng)配置貳1.注解SpringBoot支持多種注解,通過(guò)使用這些注解,開(kāi)發(fā)人員可以告訴SpringBoot應(yīng)該如何自動(dòng)配置應(yīng)用程序的各種組件。(1)@Configuration(2)@EnableAutoConfiguration(3)@ComponentScan(4)@SpringBootApplication2.類(lèi)路徑掃描SpringBoot會(huì)根據(jù)應(yīng)用程序的類(lèi)路徑來(lái)掃描應(yīng)用程序中的組件和配置信息。具體來(lái)說(shuō),它會(huì)掃描以下幾個(gè)目錄:classpath下的jar包和目錄:perties或application.yml文件所在的目錄:系統(tǒng)環(huán)境變量指定的目錄:在掃描過(guò)程中,SpringBoot會(huì)根據(jù)注解和配置文件來(lái)進(jìn)行自動(dòng)配置。任務(wù)2-3:SpringBoot執(zhí)行流程貳1.SpringBoot常用類(lèi)與接口(1)SpringApplicationRunListener(是SpringBoot應(yīng)用程序的執(zhí)行流程中不同執(zhí)行時(shí)間點(diǎn)事件通知的監(jiān)聽(tīng)器)(2)ApplicationContextlnitializer(接口是Spring框架中用來(lái)初始化應(yīng)用程序上下文的回調(diào)接口)(3)ApplicationRunner和CommandLineRunner(在項(xiàng)目開(kāi)發(fā)過(guò)程中可以在容器啟動(dòng)時(shí)執(zhí)行一些程序處理)任務(wù)2-3:SpringBoot執(zhí)行流程貳2.執(zhí)行流程每個(gè)SpringBoot應(yīng)用程序都有一個(gè)主程序啟動(dòng)類(lèi)其中的main方法即啟動(dòng)人口,main方法通過(guò)調(diào)用SpringApplication.run方法執(zhí)行整個(gè)SpringBoot應(yīng)用程序。任務(wù)2-3:SpringBoot執(zhí)行流程貳具體步驟如下所示:①創(chuàng)建SpringApplication實(shí)例,調(diào)用run方法,同時(shí)將啟動(dòng)入口類(lèi)作為參數(shù)傳遞進(jìn)去;②通過(guò)SpringFactoriesLoader加載META-INF/spring.factories文件,獲取并創(chuàng)建SpringApplicationRunListener對(duì)象;③然后由SpringApplicationRunListener來(lái)發(fā)出starting消息;④創(chuàng)建參數(shù),并配置當(dāng)前SpringBoot應(yīng)用需要使用的Environment實(shí)例。⑤完成之后,依然由SpringApplicationRunListener來(lái)發(fā)出environmentPrepared消息;⑥創(chuàng)建Spring的應(yīng)用上下文實(shí)例:ApplicationContext,初始化該實(shí)例并設(shè)置應(yīng)用環(huán)境配置實(shí)例:Environment,同時(shí)加載相關(guān)的配置項(xiàng);⑦由SpringApplicationRunListener發(fā)出contextPrepared消息,告知SpringBoot應(yīng)用當(dāng)前使用的ApplicationContext已準(zhǔn)備完畢;⑧將各種Bean組件裝載入Spring的IO容器/應(yīng)用上下文:⑨重新刷新RefreshSpring的應(yīng)用上下文實(shí)例:ApplicationContext,完成IOC容器可用的最后一步;⑩由SpringApplicationRunListener發(fā)出started消息,完成最終的程序的啟動(dòng);?由SpringApplicationRunListener發(fā)出running消息,告知程序已成功運(yùn)行起來(lái)了。任務(wù)2-4:SpringBoot的starter貳在任何一個(gè)項(xiàng)目中,依賴(lài)管理都是至關(guān)重要的一部分。開(kāi)發(fā)人員在使用時(shí)只需在pom文件中進(jìn)行依賴(lài)注入即可,以達(dá)到快速搭建項(xiàng)目的目的。1.Starter概述Starter可以將需要的功能整合起來(lái),像是一個(gè)可拔插式的插件,方便使用。任務(wù)2-4:SpringBoot的starter貳比較常用的starter見(jiàn)表名稱(chēng)作用spring-boot-starter核心starter,包括自動(dòng)化配置支持,日志以及YAMLspring-boot-starter-aopSpringAOP和AspectJ相關(guān)的切面編程starterspring-boot-starter-data-jpa使用HibernateSpringDataJPA的starterspring-boot-starter-jdbc使用HikariCP連接池JDBC的starterspring-boot-starter-security使用SpringSecurity的starterspring-boot-starter-testSpringBoot測(cè)試相關(guān)的starterspring-boot-starter-web構(gòu)建restful、springMVC的web應(yīng)用程序的starterspring-boot-starter-data-redis支持redis緩存。任務(wù)2-4:SpringBoot的starter貳基本上不同的Starter都會(huì)使用到兩個(gè)內(nèi)容:AutoConfiguration和ConfigurationProperties。我們使用ConfigurationProperties來(lái)保存我們的配置,并且這些配置都可以有一個(gè)默認(rèn)值,在沒(méi)有主動(dòng)覆寫(xiě)原始配置的情況下,默認(rèn)值就會(huì)生效。除此之外,Starter的ConfigurationProperties還使得所有的配置屬性被聚集到一個(gè)文件中,這樣我們就告別了Spring項(xiàng)目中XML地獄。任務(wù)2-5:SpringBoot項(xiàng)目熱部署貳SpringBoot項(xiàng)目熱部署是指在應(yīng)用程序運(yùn)行過(guò)程中,可以自動(dòng)重新加載應(yīng)用程序的配置文件和代碼,而無(wú)需手動(dòng)重啟應(yīng)用程序。這對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)非常方便,可以大大提高開(kāi)發(fā)效率。SpringBoot支持熱部署的主要原因是它使用了SpringFramework的動(dòng)態(tài)模塊系統(tǒng),該系統(tǒng)允許應(yīng)用程序在運(yùn)行時(shí)動(dòng)態(tài)加載和管理模塊。除了使用spring-boot-devtools依賴(lài)之外,還可以使用其他一些工具來(lái)實(shí)現(xiàn)熱部署。例如,可以使用Gradle的restart插件來(lái)重新運(yùn)行應(yīng)用程序,或者使用IntelliJIDEA的BuildAutomatically功能來(lái)自動(dòng)重新編譯和運(yùn)行應(yīng)用程序。任務(wù)2-5:SpringBoot項(xiàng)目熱部署貳SpringBootDevTools是SpringBoot提供的一個(gè)開(kāi)發(fā)工具,它可以自動(dòng)重啟應(yīng)用程序來(lái)實(shí)現(xiàn)熱部署。其原理如下所示。如果開(kāi)發(fā)的是大型項(xiàng)目,重啟項(xiàng)目會(huì)非常耗時(shí),所以使用熱部署減少重啟時(shí)間能顯著提高開(kāi)發(fā)效率。啟動(dòng)應(yīng)用程序時(shí),SpringBootDevTools會(huì)創(chuàng)建一個(gè)嵌入式的Tomcat服務(wù)器,并將其配置為支持自動(dòng)重啟。當(dāng)應(yīng)用程序需要重新加載配置文件或類(lèi)文件時(shí),Spring

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論