版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Spring
Boot開發(fā)入門■Content認(rèn)
識Spring
BootSpring
Boot程序探究目
錄零
項(xiàng)目導(dǎo)言知識目標(biāo)了解Spring
Boot的特點(diǎn)熟悉Spring
Boot的開發(fā)環(huán)境配置;了解Spring
Boot工程目
錄結(jié)構(gòu);掌握Spring
Boot的自動
配置方法;熟悉Spring
Boot的執(zhí)行
流
程
;了解Spring
Boot
的
Starter的概念與使用;掌握SpringBoot的項(xiàng)目技能目標(biāo)具備精益求精、堅(jiān)持不
懈的精神;>具有獨(dú)立解決問題的能
力
;>具備靈活的思維和處理分析問題的能力;>具有責(zé)任心。能力目標(biāo)具備獨(dú)立搭建SpringBoot
開發(fā)環(huán)境的能力
具備為Spring
Boot項(xiàng)目添加熱部署與單元測
試的能力。零
學(xué)習(xí)目標(biāo)熱部署方法。壹
任務(wù)1:SpringBootSpring
Boot簡介Spring
Boot的核心設(shè)計(jì)思想是“約定優(yōu)于配置”。任務(wù)技能Spring
Boot特點(diǎn)相比較傳統(tǒng)的Spring
框
架
,SpringBoot優(yōu)點(diǎn)更明顯。開發(fā)環(huán)境準(zhǔn)備在開發(fā)入門程序之前,有必要對項(xiàng)日運(yùn)行所需環(huán)境進(jìn)行介紹,并提前準(zhǔn)備完成。壹任務(wù)1-1:Spring
Boot簡介Spring
框架是一個(gè)全面的企業(yè)級應(yīng)用程序開發(fā)框架,它提供了許多模塊和組件,包括依賴注入(DI)、面向切面編程(AOP)、數(shù)
據(jù)
訪
問
、Web
開發(fā)、安全等。Spring
框架的目標(biāo)是簡化企業(yè)級應(yīng)用程序的開發(fā),提高開發(fā)效率和可維護(hù)性。Spring
Boot是Spring
框架的一種快速應(yīng)用程序開發(fā)框架,它通過提供自動配置和快速啟動功能,簡化了Spring
應(yīng)用程序的開發(fā)過程。Spring
Boot的目標(biāo)是使開發(fā)者能夠更快地構(gòu)建獨(dú)立的、生產(chǎn)級別的Spring
應(yīng)用程序。壹
任務(wù)1-2:SpringBoot特點(diǎn)1快速啟動
微服務(wù)支持
強(qiáng)大的生態(tài)系統(tǒng)
約定優(yōu)于配置
獨(dú)立運(yùn)行4
易于測試
自動配置
面向生產(chǎn)壹任務(wù)1-3:開發(fā)環(huán)境準(zhǔn)備為了方便入門程序的編寫,在開發(fā)入門程序之前,有必要對項(xiàng)日運(yùn)行所需環(huán)境進(jìn)行介紹,并提前準(zhǔn)備完成。3開發(fā)工具其中IntelliJ
IDEA是近幾年比較流行的,且業(yè)界評價(jià)最高的一款Java開發(fā)工具2項(xiàng)目構(gòu)建工具SpringBoot2.1.3
版本官方文檔聲明支持的第三方項(xiàng)目構(gòu)建工具包括Maven(3.3+)
和
GradleJDK
環(huán)境根據(jù)Spring
Boot官
方文檔說明,Spring
Boot2.1.3版本要求JDK
本
必須是JDK1.8以上,技能Spring
Boot的starter將所需的依賴全部以一致的方式進(jìn)行注入并進(jìn)行統(tǒng)一管理。Spring
Boot項(xiàng)目熱部署自動重新加載應(yīng)用程序的配置文件和代碼,而無需手動重啟應(yīng)用程序。貳任務(wù)2:Spring
Boot程序探究工程目錄結(jié)構(gòu)springboot
的目錄結(jié)構(gòu)Spring
Boot自動配置使得開發(fā)人員可以更加方便地構(gòu)建應(yīng)用程序,而不需要手動配置
各種組件。Spring
Boot執(zhí)行流程Spring
Boot常用類與接口和執(zhí)行流程任務(wù)貳
任務(wù)2-1:工程目錄結(jié)構(gòu)新建好的任務(wù)1中springboot的目錄結(jié)構(gòu)如圖。chapter0302
C:\Users\dz\Desktopyjava\chapter0302mainjavabcom.example.chapter0302Chapter0302Applicationresourcespertiestest臺mvnw.cmdm
pom.xml
頂目依賴管理文件>
曲L
External
Libraries>o
Scratches
and
Consoles頂目主程序啟動類全局配置文件b
com.example.chapter0302GChapter0302ApplicationTests⑧
三
云
交
一項(xiàng)目測試文件貳任務(wù)2-2:Spring
Boot自動配置Spring
Boot的自動配置是其一個(gè)非常重要的功能,它使得開發(fā)人員可以更加方便地構(gòu)建應(yīng)用程序,而不需要手動配置各種組件。Spring
Boot
應(yīng)用的啟動入口是@SpringBootApplication
注解標(biāo)注類中的main
(方法
,@SpringBootApplication
能夠掃措
Spring
組件并自動配置
Spring
Boot,自動配置示例代碼如下所示。@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
@interface
SpringBootApplication{}貳任務(wù)2-2:SpringBoot自動配置1.注解SpringBoot支持多種注解,通過使用這些注解,開發(fā)人員可以告訴SpringBoot應(yīng)該如何自動配置應(yīng)
用程序的各種組件。(1)@Configuration(2)@EnableAutoConfiguration(3)@ComponentScan(4)@SpringBootApplication2.類路徑掃描SpringBoot會根據(jù)應(yīng)用程序的類路徑來掃描應(yīng)用程序中的組件和配置信息。具體來說,它會掃描以下幾個(gè)目錄:e
classpath
下的jar
包和目錄:application.properties
或application.yml文件所在的目錄:系統(tǒng)環(huán)境變量指定的目錄:在掃描過程中,Spring
Boot會根據(jù)注解和配置文件來進(jìn)行自動配置。貳任務(wù)2-3:SpringBoot執(zhí)行流程1.Spring
Boot常用類與接口(1)SpringApplicationRunListener
(
是Spring
Boot
應(yīng)用程序的執(zhí)行流程中不同執(zhí)行時(shí)間
點(diǎn)事件通知的監(jiān)聽器)(2)ApplicationContextlnitializer
(接口是Spring框架中用來初始化應(yīng)用程序上下文的回調(diào)
接
口
)(3)ApplicationRunner
和CommandLineRunner
(在項(xiàng)目開發(fā)過程中可以在容器啟動時(shí)執(zhí)行
一些程序處理)收集各種條件和回調(diào)接口,例如,ApplicationContextInitializer、ApplicationListener通
告started()創(chuàng)建并準(zhǔn)備Environment通
告environmentPrepared(創(chuàng)建并初始化ApplicationContext,例如,
設(shè)
置Environment,加載配置等通
告contextPrepared()通
告contextLoaded()調(diào)
用ApplicationContext的refresh)
方法,完成最終程序啟動執(zhí)
行ApplicationRunner
和CommandLineRunner通
告finished()結(jié)束2.執(zhí)行流程每個(gè)SpringBoot應(yīng)用程序都有一個(gè)主程序啟動類其中的main
方
法即啟動人口,main方法通過調(diào)用SpringApplication.run方法執(zhí)行整
個(gè)SpringBoot
應(yīng)用程序。貳任務(wù)2-3:SpringBoot執(zhí)行流程開
始貳
任務(wù)2-3:SpringBoot執(zhí)行流程具體步驟如下所示:①創(chuàng)建Spring
Application實(shí)例,調(diào)用run
方法,同時(shí)將啟動入口類作為參數(shù)傳遞進(jìn)去;②通過Spring
Factories
Loader
加載META-INF/spring.factories
文件,獲取并創(chuàng)建
SpringApplicationRunListener對象;③然后由SpringApplicationRunListener
來發(fā)出starting
消息;④創(chuàng)建參數(shù),并配置當(dāng)前
Spring
Boot應(yīng)用需要使用的Environment
實(shí)例。⑤完成之后,依然由SpringApplicationRunListener
來發(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
消息,告知Spring
Boot應(yīng)用當(dāng)前使用的
ApplicationContext
已準(zhǔn)備完畢;⑧將各種Bean組件裝載入Spring
的
IO
容器/應(yīng)用上下文:⑨重新刷新
Refresh
Spring的應(yīng)用上下文實(shí)例:ApplicationContext,完成IOC
容器可用的最后一步;⑩由SpringApplicationRunListener
發(fā)出started
消息,完成最終的程序的啟動;?由SpringApplicationRunListener
發(fā)出
running
消息,告知程序已成功運(yùn)行起來了。貳
任務(wù)2-4:Spring
Boot的starter在任何一個(gè)項(xiàng)目中,依賴管理都是至關(guān)重要的一部分。開發(fā)人員在使用時(shí)只需在pom
文件中進(jìn)行依賴注入即可,以達(dá)到快速搭建項(xiàng)目的目的。1.Starter概述Starter可以將需要的功能整合起來,像是一個(gè)可拔插式的插件,方便使用。StarterAutoConfiguration依賴所用的JarPropertiespertiesJar
A,Jar
B,Jar
C,
…
…自定義依賴Configuration名稱作用spring-boot-starter核心starter,包括自動化配置支持,日志以及YAMLspring-boot-starter-aopSpring
AOP和AspectJ相關(guān)的切面編程starterspring-boot-starter-data-jpa使用Hibernate
Spring
Data
JPA的starterspring-boot-starter-jdbc使用HikariCP連接池JDBC的starterspring-boot-starter-security使用Spring
Security的starterspring-boot-starter-testSpringBoot測試相關(guān)的starterspring-boot-starter-web構(gòu)建restful、springMVC的web應(yīng)用程序的starterspring-boot-starter-data-redis支持redis緩存。貳
任務(wù)2-4:Spring
Boot的starter比較常用的starter
見表貳任務(wù)2-4:Spring
Boot的starter基本上不同的Starter
都會使用到兩個(gè)內(nèi)容:AutoConfiguration
和ConfigurationProperties。我們使用ConfigurationProperties
來保存我們的配置,并且這些配置都可以有一個(gè)默認(rèn)值,在沒
有主動覆寫原始配置的情況下,默認(rèn)值就會生效。除此之外,Starter的ConfigurationProperties
還使
得所有的配置屬性被聚集到一個(gè)文件中,這樣我們就告別了Spring
項(xiàng)目中XML地獄。貳任務(wù)2-5:SpringBoot項(xiàng)目熱部署Spring
Boot項(xiàng)目熱部署是指在應(yīng)用程序運(yùn)行過程中,可以自動重新加載應(yīng)用程序的配置文件和代碼,而無需手動重啟應(yīng)用程序。這對于開發(fā)人員來說非常方便,可以大大提高開發(fā)效率。Spring
Boot支持熱部署的主要原因是它使用了Spring
Framework的動態(tài)模塊系統(tǒng),該系統(tǒng)允許應(yīng)用程序在運(yùn)行時(shí)動態(tài)加載和管理模塊。除了使用spring-boot-devtools
依賴之外,還可以使用其他一些工具來實(shí)現(xiàn)熱部署。例如
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年解除保險(xiǎn)合同協(xié)議
- 2026年辦公辦公系統(tǒng)開發(fā)服務(wù)合同協(xié)議
- 2026年超市購物車廣告投放合同協(xié)議
- 2026年保險(xiǎn)經(jīng)紀(jì)合同書模板2026
- 家政服務(wù)員培訓(xùn)課件高級
- 培訓(xùn)講師演講稿
- 快遞安全事故培訓(xùn)內(nèi)容課件
- 培訓(xùn)班創(chuàng)意繪畫課件
- 安全培訓(xùn)72小時(shí)內(nèi)容課件
- 安全培訓(xùn)30號令解讀課件
- GB/T 35428-2024醫(yī)院負(fù)壓隔離病房環(huán)境控制要求
- GB/T 4706.11-2024家用和類似用途電器的安全第11部分:快熱式熱水器的特殊要求
- SH/T 3115-2024 石油化工管式爐輕質(zhì)澆注料襯里工程技術(shù)規(guī)范(正式版)
- FZ∕T 61002-2019 化纖仿毛毛毯
- 《公輸》課文文言知識點(diǎn)歸納
- 23秋國家開放大學(xué)《機(jī)電一體化系統(tǒng)設(shè)計(jì)基礎(chǔ)》形考作業(yè)1-3+專題報(bào)告參考答案
- 開封銀行健康知識講座
- 垃圾房改造方案
- 2023年工裝夾具設(shè)計(jì)工程師年終總結(jié)及下一年計(jì)劃
- 閉合導(dǎo)線平差計(jì)算表-電子表格自動計(jì)算
- 《大衛(wèi)·科波菲爾》
評論
0/150
提交評論