Springboot+SpringCloud實(shí)戰(zhàn)課件電子課件_第1頁
Springboot+SpringCloud實(shí)戰(zhàn)課件電子課件_第2頁
Springboot+SpringCloud實(shí)戰(zhàn)課件電子課件_第3頁
Springboot+SpringCloud實(shí)戰(zhàn)課件電子課件_第4頁
Springboot+SpringCloud實(shí)戰(zhàn)課件電子課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章SpringBoot快速入門學(xué)習(xí)目標(biāo)掌握SpringBoot環(huán)境的準(zhǔn)備。掌握SpringBoot項(xiàng)目的創(chuàng)建過程,能夠編寫并運(yùn)行簡單應(yīng)用。掌握SpringBoot單元測試、熱部署、Actuator監(jiān)控等。通過第1章我們了解了強(qiáng)大的SpringBoot。本章我們將學(xué)習(xí)從環(huán)境準(zhǔn)備到創(chuàng)建第一個SpringBoot項(xiàng)目的具體步驟,然后通過實(shí)操了解單元測試、熱部署、Actuator監(jiān)控等過程。環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制環(huán)境準(zhǔn)備SpringBoot環(huán)境準(zhǔn)備主要包括安裝JDK、安裝Maven、安裝IntelliJIDEA。1.安裝JDKJDK是Java編譯運(yùn)行時必不可少的工具。想要編寫SpringBoot應(yīng)用,第一步就是安裝JDK。有關(guān)JDK的安裝可以參考JDK官方教程。2.安裝MavenMaven是一個強(qiáng)大的項(xiàng)目管理工具,它能幫我們創(chuàng)建項(xiàng)目、管理jar包、編譯代碼,還能自動運(yùn)行單元測試、打包、生成報表,甚至能部署項(xiàng)目。3.安裝IntelliJIDEAIntelliJIDEA(以下簡稱IDEA)是Java的常用開發(fā)工具之一,它支持代碼自動提示、Spring、各類版本控制工具、JUnit、Maven等。

環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制創(chuàng)建SpringBoot項(xiàng)目1、Spring官網(wǎng)創(chuàng)建項(xiàng)目

首先介紹如何通過Spring官網(wǎng)創(chuàng)建SpringBoot項(xiàng)目,步驟如下。①在搜索引擎中搜索“spring”,查看搜索結(jié)果,找到Spring官網(wǎng),如圖2-1所示。創(chuàng)建SpringBoot項(xiàng)目②進(jìn)入Spring官網(wǎng)后,可以看到Spring官網(wǎng)頁面如圖2-2所示。單擊Spring官網(wǎng)頁面中的“QUICKSTART”按鈕。創(chuàng)建SpringBoot項(xiàng)目③找到“Step1:StartanewSpringBootproject”,意思是啟動一個新的SpringBoot項(xiàng)目,單擊文中的“start.spring.io”鏈接,如圖2-3所示。④單擊“start.spring.io”鏈接后進(jìn)入“springinitializr”頁面,如圖2-4所示,在頁面中選擇和填寫相關(guān)內(nèi)容。創(chuàng)建SpringBoot項(xiàng)目創(chuàng)建SpringBoot項(xiàng)目頁面中的“Project”表示項(xiàng)目類型,這里保持選中默認(rèn)選項(xiàng)“MavenProject”?!癓anguage”表示語言類型,這里保持選中默認(rèn)選項(xiàng)“Java”?!癝pringBoot”表示可選版本,這里保持選中默認(rèn)選項(xiàng)“2.3.5”(截圖時間為2020年10月,將來版本更新后版本會發(fā)生變化,這里保持選中默認(rèn)選項(xiàng)即可)。“ProjectMetadata”表示項(xiàng)目的配置項(xiàng),其中“Group”表示項(xiàng)目組織唯一的標(biāo)識,一般由域、公司名等多個段組成,如“com.hzdl”;“Artifact”表示應(yīng)用在項(xiàng)目組中的唯一標(biāo)識,如“myapp-web”;“Name”表示啟動應(yīng)用名;“Description”表示項(xiàng)目的簡介;“Packagename”表示項(xiàng)目的完整包路徑;“Packaging”表示項(xiàng)目的打包方式,這里保持選中默認(rèn)選項(xiàng)“Jar”;“Java”后的數(shù)字表示JDK版本,以安裝的版本為JDK1.8為例,所以這里選中“8”即可。右邊的“Dependencies”表示添加項(xiàng)目的依賴,例如,Web項(xiàng)目可以添加“SpringWeb”依賴。⑤單擊“GENERATE”按鈕下載項(xiàng)目包。創(chuàng)建SpringBoot項(xiàng)目⑥下載項(xiàng)目包后生成的文件如圖所示。對該文件進(jìn)行解壓。⑦

打開IDEA,其首頁如圖所示。單擊“OpenorImport”按鈕導(dǎo)入項(xiàng)目。創(chuàng)建SpringBoot項(xiàng)目⑧找到剛剛解壓的文件“demo”,單擊“OK”按鈕,即可完成項(xiàng)目導(dǎo)入。⑨導(dǎo)入項(xiàng)目后,打開“DemoApplication”類,然后單擊左邊或右上角的啟動按鈕。在控制臺(Console)中可以看到“DemoApplication”已經(jīng)啟動成功。創(chuàng)建SpringBoot項(xiàng)目2、通過IDEA創(chuàng)建項(xiàng)目

從2.2.1小節(jié)可以看到,通過Spring官網(wǎng)創(chuàng)建項(xiàng)目非常簡單、快捷。當(dāng)然,我們也可以直接用IDEA來創(chuàng)建,步驟如下。①打開IDEA,單擊“File”菜單,依次選擇“New”→“Project”,如圖2-9所示。創(chuàng)建SpringBoot項(xiàng)目②在彈出的“NewProject”對話框中,選擇“SpringInitializr”選項(xiàng),如圖2-10所示。在“ChoosestarterserviceURL:”中可以看到通過IDEA創(chuàng)建的SpringBoot項(xiàng)目本質(zhì)上也是從Spring官網(wǎng)生成的。創(chuàng)建SpringBoot項(xiàng)目③單擊“Next”按鈕,進(jìn)入“SpringInitializrProjectSettings”界面。設(shè)置項(xiàng)和Spring官網(wǎng)基本一致?!癎roup”表示項(xiàng)目組織唯一的標(biāo)識?!癆rtifact”表示應(yīng)用在項(xiàng)目組中的唯一標(biāo)識?!癟ype”“Language”“Packaging”均保持選中默認(rèn)選項(xiàng)即可。創(chuàng)建SpringBoot項(xiàng)目④單擊圖2-11所示的“Next”按鈕,進(jìn)入“Dependencies”界面,如圖2-12所示。在對話框中可以選擇SpringBoot版本并添加POM依賴。這里直接單擊“Next”按鈕即可。創(chuàng)建SpringBoot項(xiàng)目⑤在對話框中設(shè)置項(xiàng)目存放路徑,如圖2-13所示。單擊“Finish”按鈕完成項(xiàng)目創(chuàng)建。創(chuàng)建SpringBoot項(xiàng)目⑥項(xiàng)目創(chuàng)建完成后,打開“DemoApplication”類,然后單擊左邊或右上角的啟動按鈕。在控制臺中可以看到“DemoApplication”啟動成功,如圖2-14所示。創(chuàng)建SpringBoot項(xiàng)目3、項(xiàng)目結(jié)構(gòu)介紹

“demo”目錄為項(xiàng)目目錄。其中,“.idea”中存放的是項(xiàng)目配置信息,如字符編碼、歷史記錄、版本控制信息等?!?mvn”中存放的是Maven的jar包和配置文件,作用是保證即使沒有安裝Maven或者M(jìn)aven版本不兼容依然可以運(yùn)行“maven”命令?!皊rc”是項(xiàng)目的開發(fā)目錄,用于存放Java文件,“main”“java”為其固定結(jié)構(gòu)?!癱om.example.demo”為項(xiàng)目根目錄。根目錄下是我們創(chuàng)建的包目錄,這些包的數(shù)量和命名沒有規(guī)定。

在“com.example.demo”根目錄下,“config”是SpringBoot的JavaConfig目錄,在這里定義配置類?!癱onstant”中存放常量類?!癱ontroller”表示前端控制器層,負(fù)責(zé)處理前端的請求?!癲ao”通常也被命名為“mapper”,它表示數(shù)據(jù)訪問層,負(fù)責(zé)和數(shù)據(jù)庫交換數(shù)據(jù)?!癲to”表示數(shù)據(jù)傳輸對象,用于封裝多個實(shí)體類之間的關(guān)系?!癳ntity”通常也被命名為“bean”“domain”“model”等,它用來存放實(shí)體類,基本上和數(shù)據(jù)庫中的表一一對應(yīng)?!皊ervice.impl”表示服務(wù)接口層,它通過調(diào)用數(shù)據(jù)訪問層實(shí)現(xiàn)業(yè)務(wù)功能,然后供前端控制器調(diào)用,其中“impl”是它的實(shí)現(xiàn)層?!皍tils”中存放工具類?!皏o”表示視圖對象,用于封裝前端的請求數(shù)據(jù)?!癉emoApplication”是啟動類。創(chuàng)建SpringBoot項(xiàng)目“resources”是項(xiàng)目資源目錄,用于存放非Java文件?!皉esources”目錄中除了application.properties文件,都是我們自己建立的目錄,“mappers”中存放MyBatis的XML映射文件;“static”中存放靜態(tài)資源,如HTML、JS文件及圖片文件等;“templates”中存放視圖模板,如Thymeleaf?!皃erties”是項(xiàng)目的配置文件,如配置端口、數(shù)據(jù)源等。通常項(xiàng)目中配置文件使用的是YAML格式,所以這里也可以把項(xiàng)目配置文件改成“application.yml”?!皌est”是項(xiàng)目測試目錄,用于項(xiàng)目的單元測試。“target”是編譯和打包目錄,啟動項(xiàng)目時里面會生成.class文件,打包時里面會生成.jar文件?!?gitignore”可見名知意,它是用來配置Git時需要忽略上傳的文件或目錄,如“.mvn”和“target”就不需要上傳?!癲emo.iml”是工程配置文件,用于存儲模塊開發(fā)相關(guān)信息。“HELP.md”中存放Maven和Spring的幫助鏈接。“mvnw”和“mvnw.cmd”分別是Linux和Windows環(huán)境的“mvnw”命令入口,有了這兩個文件,就可以在Linux的Bash和Windows的命令提示符窗口中運(yùn)行“mvnw”命令?!癿vnw”命令和Maven本身的“mvn”命令的不同之處在于,運(yùn)行“mvnw”命令時,系統(tǒng)會檢查當(dāng)前maven版本是否和期望一致,如果不一致則先下載期望的版本并放入“.mvn”中,然后運(yùn)行“mvn”命令?!皃om.xml”是Maven管理項(xiàng)目依賴的配置文件?!癊xternalLibraries”是外部依賴列表?!癝cratchesandConsoles”是臨時文件編輯環(huán)境,可以寫一些文件內(nèi)容或者一些代碼片段。環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制

POM文件介紹

POM(ProjectObjectModel,項(xiàng)目對象模型)是Maven項(xiàng)目中的核心文件,采用XML格式,名稱為pom.xml。該文件用于管理源碼、配置文件、開發(fā)者的信息和角色、問題追蹤系統(tǒng)、組織信息、項(xiàng)目授權(quán)、項(xiàng)目的url(UniformResourceLocator,統(tǒng)一資源定位符)、項(xiàng)目的依賴關(guān)系等。在Maven項(xiàng)目中,可以什么都沒有,甚至可以沒有代碼,但是必須包含pom.xml文件。一個pom.xml的定義必須包含modelVersion、groupId、artifactId和version這4個元素,如程序清單2-1所示。當(dāng)然這其中的元素也是可以從它的父項(xiàng)目中繼承的。在Maven中,一般使用groupId、artifactId和version組成groupdId:artifactId:version的形式來唯一確定項(xiàng)目。環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制編寫HelloController應(yīng)用并啟動接下來介紹如何編寫HelloController應(yīng)用,并在瀏覽器中測試編寫好的HelloController應(yīng)用。①添加Web依賴,如程序清單2-2所示。②在“controller”目錄中新建“HelloController.java”文件,然后在該文件中編寫代碼,如程序清單2-3所示。@Controller加在類上,表示此類為前端控制器,用于處理前端請求。@ResponseBody加在方法上,表示將該方法的返回結(jié)果直接寫入HTTPresponsebody中返回給前端,如果不加則解析為跳轉(zhuǎn)路徑。@RequestMapping加在方法上,表示此方法映射的請求URL,加在類上也同理。下面的代碼表示,當(dāng)訪問的URL為“/hello”時調(diào)用hello方法,hello方法返回“hello”字符串。當(dāng)然,@RequestMapping中也可以寫為“hello”。編寫HelloController應(yīng)用并啟動③啟動SpringBoot,在瀏覽器中輸入“l(fā)ocalhost:8080/hello”,按“Enter”鍵查看運(yùn)行結(jié)果,返回“hello”則表示編寫成功,如圖2-16所示。環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制SpringBoot單元測試單元測試在“test”目錄中進(jìn)行。先創(chuàng)建測試類,在測試類上添加“@SpringBootTest”注解,然后創(chuàng)建測試方法,在測試方法上添加“@Test”注解,這樣便可通過執(zhí)行測試方法實(shí)現(xiàn)單元測試(在控制臺打印輸出“hello”)。我們也可以運(yùn)行測試類,運(yùn)行測試類就會依次執(zhí)行此類中所有的測試方法環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制SpringBoot項(xiàng)目熱部署SpringBoot提供了一個模塊:spring-boot-devtools。它可以使項(xiàng)目根據(jù)改動自動編譯,即修改代碼之后無須重啟項(xiàng)目就可以生效,這種特性叫作“熱部署”。項(xiàng)目的啟動時間通常取決于依賴的jar包量、代碼量,以及電腦的性能。如果開發(fā)的是大型項(xiàng)目,重啟項(xiàng)目會非常耗時,所以使用熱部署減少重啟時間能顯著提高開發(fā)效率。配置熱部署的步驟如下。①添加devtools依賴。SpringBoot項(xiàng)目熱部署②將SpringBoot的Maven插件中的fork設(shè)置為true,如程序清單2-5所示。這里的fork是指JVM(JavaVirtualMachine,Java虛擬機(jī)),默認(rèn)情況下fork為false,即Maven運(yùn)行自己的JDK的JVM來進(jìn)行編譯。想要實(shí)現(xiàn)熱部署就不能使用默認(rèn)的JVM,所以需要設(shè)置fork為true。SpringBoot項(xiàng)目熱部署③對IDEA進(jìn)行設(shè)置。勾選“Compiler”中的“Buildprojectautomatically”,單擊“OK”按鈕,如圖2-18所示。然后,使用快捷鍵“Ctrl+Shift+A”,彈出全局搜索框,選擇“Actions”,搜索并選擇“Registry”,如圖2-19所示。然后勾選“compiler.automake.allow.when.app.running”,如圖2-20所示。SpringBoot項(xiàng)目熱部署④驗(yàn)證熱部署。先重啟SpringBoot,再把hello方法中的返回值修改為“hellospringboot”,如圖2-21所示。然后直接返回瀏覽器窗口,訪問“l(fā)ocalhost:8080/hello”,如圖2-22所示。返回的是修改后的值“hellospringboot”則表示熱部署配置成功。SpringBoot項(xiàng)目熱部署環(huán)境準(zhǔn)備12創(chuàng)建SpringBoot項(xiàng)目3POM文件介紹4編寫HelloController應(yīng)用并啟動5SpringBoot單元測試6SpringBoot項(xiàng)目熱部署7SpringBootActuator監(jiān)控8啟動Banner定制SpringBootActuator監(jiān)控Actuator是

溫馨提示

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

評論

0/150

提交評論