下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Java
微服務(wù)實(shí)戰(zhàn)系列課堂Java
微服務(wù)實(shí)戰(zhàn)系列課堂課堂資源https:
/n/1330000009887617課件資源
/mercyblitz/segmentfault-lessons/JSR資源
/mercyblitz/jsr議題Spring
Boot
Starter開發(fā)經(jīng)驗(yàn)Spring
Boot系列總結(jié)Spring
Cloud系列預(yù)告問答互動(dòng)SpringBoot
Starter說明Spring
Boot
Starter又稱作為Spring
Boot啟動(dòng)器,是
Spring
Boot框架中最
的組件,其中可能包含以下組件:自動(dòng)裝配模塊(Autoconfigure
Module)啟動(dòng)器模塊(Starter
Module)SpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)自動(dòng)裝配模塊包含類庫中的每種必要啟動(dòng)單元,它可能也包含配置鍵的定義,也可能包含任意用于未來自定義已初始化組件的回調(diào)接口。舉例說明配置鍵的定義@ConfigurationProperties自定義已初始化組件的回調(diào)接口EmbeddedServletContainerCustomizerSpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)自動(dòng)裝配類型自動(dòng)裝配Bean(Auto-Configuration
Beans)Spring配置(@Configuration)SpringBoot管理上下文配置(@ManagementContextConfiguration)Spring
Boot組件Failure
ysisReporterSpringApplicationRunListenerAutoConfigurationImportListenerSpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)理解自動(dòng)裝配
Bean(Auto-Configuration
Beans)自動(dòng)裝配是由標(biāo)準(zhǔn)Spring
@Configuration實(shí)現(xiàn),結(jié)合Spring4的新特性條件判斷注解@Conditional以及其Spring
Boot派生注解,如:@ConditionalOnClass等。放置自動(dòng)裝配
Bean(META-INF/spring.factories)將標(biāo)記@Configuration的Spring
ConfigurationClass放置在相對于class-path下的META-INF/spring.factories文件中,如下所示:.springframework.boot.autoconfigure.EnableAutoConfiguration=\.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\SpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)前置條件
(@Conditional)Bean裝配前的前置條件,基于Spring
4
@Conditional,判斷當(dāng)前Bean是否適合或者需要裝配。在Spring
Boot場景下,時(shí)常使用其派生注解。Spring
Boot派生前置條件注解類條件Bean條件配置屬性條件資源條件Web應(yīng)用條件Spring表達(dá)式條件SpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)Spring
Boot派生前置條件注解類條件用于判斷指定的Class對象或者其全名稱存在與否存在判斷:@ConditionalOnClass缺失判斷:@ConditonalOnMissingClassBean條件用于判斷指定的Spring
Bean是否在指定的Spring應(yīng)用上下文中存在與否存在判斷:@ConditionalOnBean缺失判斷:@ConditonalOnMissingBeanSpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)Spring
Boot派生前置條件注解配置屬性條件用于判斷指定的配置屬性存在與否、默認(rèn)是否匹配等@ConditionalOnProperty資源條件用于判斷指定的資源是否存在@ConditionalOnResource參考Spring章節(jié):ResourcesSpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)Spring
Boot派生前置條件注解Web應(yīng)用條件用于判斷當(dāng)前Spring
Boot應(yīng)用是否為Web應(yīng)用@ConditionalOnWebApplicationSpring表達(dá)式條件用于Spring表達(dá)式評估結(jié)果是否成立@ConditionalOnExpression參考Spring章節(jié):Spring
Expression
Language(SpEL)SpringBoot
Starter自動(dòng)裝配模塊(Autoconfigure
Module)自動(dòng)裝配順序在特定自動(dòng)裝配Class之前@AutoConfigureBefore在特定自動(dòng)裝配Class之后@AutoConfigureAfter指定順序@AutoConfigureOrderSpringBoot
Starter啟動(dòng)器模塊(Starter
Module)啟動(dòng)器模塊是一個(gè)空
JAR文件,僅提供輔助性依賴管理,這些依賴可能用于自動(dòng)裝配或者其他類庫特別注意如果自動(dòng)裝配的類庫需要其他啟動(dòng)器(starters),管理依賴時(shí),需要將它們一并引入,最好不用使用單一啟動(dòng)器來間接依賴。提供一種合適依賴管理集合可能非常,如果其中類庫存在非必須依賴時(shí)舉例說明Spring
Boot啟動(dòng)模塊:spring-boot-starter:${version}SpringBoot
Starter命名Spring
Boot
Starter
名稱也稱之為
Spring
Boot
命名空間,通常用于Maven
artifactId,并且能夠傳達(dá)starter模塊的功能職責(zé)。Starter命名空間可簡單地分類為:“
命名空間”和“自定義命名空間”。框架層面,Spring
Boot
Starter薦規(guī)約的形式。名并未做強(qiáng)制的約束,而是采用推SpringBoot
Starter命名規(guī)約命名空間前綴:“spring-boot-starter-”模式:spring-boot-starter-{}舉例:spring-boot-starter-web、spring-boot-starter-actuator、spring-boot-starter-jdbc自定義命名空間(非
)后綴:“-spring-boot-starter”模式:{}-spring-boot-starter舉例:acme-spring-boot-starterSpringBoot
StarterDEMO開發(fā)經(jīng)驗(yàn)命名經(jīng)驗(yàn)啟動(dòng)器名稱一般由組件名+“-spring-boot-starter”后綴組件名使用名詞比如,payment啟動(dòng)器名稱盡可能言簡意賅正例:payment-spring-boot-starter啟動(dòng)器名稱盡可能避免歧義或者模糊反例:shop
-spring-boot-starter啟動(dòng)器名稱盡可能避免與反例:spring-boot-starter-web或web-spring-boot-starter開發(fā)經(jīng)驗(yàn)自動(dòng)裝配實(shí)現(xiàn)經(jīng)驗(yàn)自動(dòng)裝配實(shí)現(xiàn)類名以“AutoConfiguration”為后綴正例:PaymentAutoConfiguration反例:PaymentConfig組合前置條件盡可能地嚴(yán)謹(jǐn)(多條件)例如SpringBoot
Web
MVC應(yīng)用的判斷正例:@ConditionalOnWebApplication@ConditionalOnClass(Servlet.class)@ConditionalOnClass(DispatcherServlet.class)反例:@ConditionalOnWebApplication開發(fā)經(jīng)驗(yàn)自動(dòng)裝配實(shí)現(xiàn)經(jīng)驗(yàn)組合前置條件判斷成本由低到高(多條件)假設(shè)當(dāng)@ConditionalOnClass和@ConditionalOnBean同時(shí)存在時(shí),@ConditionalOnClass的判斷成本較低,因此放置的位置優(yōu)先。例如:@ConditionalOnClass(Car.class)@ConditionalOnBean(JpaRepository.class)public
class
VehicleAutoConfiguration
{}自動(dòng)裝配Class組件依賴與順序盡可能明確@ConfiguraionPropertiesClass
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《診斷學(xué)胸部評估》課件
- 2024年黑龍江省《消防員資格證之一級防火考試》必刷500題標(biāo)準(zhǔn)卷
- 中級微觀經(jīng)濟(jì)學(xué)范里安課件ch
- 2024年高考生物必修全部和選修1基礎(chǔ)知識(shí)清單(以問題串形式呈現(xiàn))含答案
- 單位管理制度集粹匯編【人事管理】十篇
- 《盆景制作與欣賞》課件
- 單位管理制度匯編大合集【人力資源管理篇】
- 高中語文文言文閱讀部分
- 單位管理制度范例選集【職工管理】十篇
- 單位管理制度范例合集【人員管理】十篇
- 內(nèi)燃機(jī)車點(diǎn)檢方法探討
- 2023初一語文現(xiàn)代文閱讀理解及解析:《貓》
- 大四課件感染深部真菌病
- 就這樣當(dāng)班主任讀書分享
- 《太上老君說五斗金章受生經(jīng)》
- 東南大學(xué)醫(yī)學(xué)三基考試外科選擇題及答案
- TZJASE 005-2021 非道路移動(dòng)柴油機(jī)械(叉車)排氣煙度 檢驗(yàn)規(guī)則及方法
- GB/T 31989-2015高壓電力用戶用電安全
- CB/T 749-1997固定鋼質(zhì)百葉窗
- 大佛頂首楞嚴(yán)經(jīng)淺釋
- 品牌(商標(biāo))授權(quán)書(中英文模板)
評論
0/150
提交評論