springboot的最強(qiáng)大的就是那些xxxAutoconfiguration,但是這些xxxAutoConfiguration又依賴那些starter,只有導(dǎo)入了這些場景啟動器(starter),我們很多自動配置類才能有用,并且還會新增一些功能,這次就來一起寫個簡單的starter,來看看內(nèi)部到底是什么原理!
在華鎣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站制作,華鎣網(wǎng)站建設(shè)費(fèi)用合理。
腦中大概有個印象:我們要用一個場景(比如web),直接導(dǎo)入下圖所示的依賴,但是在jar包里面去看這個,你會發(fā)現(xiàn)里面只有一些基本的配置文件,什么類都沒有,就能夠想到這個一類就類似一個公司前臺的作用,通過這個公司前臺,能夠聯(lián)系到公司內(nèi)部。

提前準(zhǔn)備:必須要有IDEA模塊化創(chuàng)建項(xiàng)目的基本操作,其他的隨意。
溫馨提醒:對于會用模塊的小伙伴,其實(shí)這里就是創(chuàng)建一個空項(xiàng)目,里面新建一個maven模塊,一個springboot模塊,springboot坐標(biāo)丟到maven的pom里面,再刪除一些多余的文件和依賴。
1.創(chuàng)建一個空的項(xiàng)目

然后就會跳出下圖這個頁面




上面相當(dāng)于前臺創(chuàng)建好了,下面開始創(chuàng)建真正的東西了,繼續(xù)創(chuàng)建模塊





兩個模塊創(chuàng)建好了之后,將這兩個模塊聯(lián)系起來(廢話,公司前臺肯定要有和上級的的通話方式啊)

導(dǎo)入依賴之后就是這樣的

下一步就是在xxxautoconfiguration模塊,刪除一些沒用的東西和依賴,但是一定要保留一個最基本的starter


到這里,基本的準(zhǔn)備工作已經(jīng)完成(其實(shí)會用模塊式的直接能跳到這里來)
記住:xxxstarter是前臺,只是起到一個聯(lián)系作用(所以我們基本不配置這個),沒有什么其他功能,但是那個xxxautoconfiguration才是內(nèi)部有實(shí)權(quán)的老板
現(xiàn)在我們來做個老板出來,嘿嘿嘿!
下面看我的目錄結(jié)構(gòu)

從頭到尾看一下這些類里面有什么
第一個:HelloProperties

第二個:HelloWorld(記住,此時這個類和properties類還沒什么關(guān)系,必須要讓第三方傳入properties)

第三個HelloWorldAutoconfiguration

第四個.spring.factories文件

最后一步:把這兩個安裝到maven本地倉庫(記得,先是xxautoconfiguration,然后再starter)

另外一個starter一樣的操作
到此為止,一個簡單的HelloWorid的starter就做出來了,我們只需要在我們的項(xiàng)目中導(dǎo)入那個starter(也就是前臺唯一的作用)的依賴,就可以了,看看我的starter的坐標(biāo)(還要記住,properties文件配置的@ConfigurationProperties(prefix = "wyq.hello"),這個prefix是可以在我們項(xiàng)目里面配置文件配置屬性的哦~~)

測試:
file------>new------->project,和以前用springboot一樣,隨便新建一個springboot應(yīng)用(記住,一定要選擇web模塊,不然自動配置類作用,因?yàn)榕渲昧薂ConditionalOnWebApplication),導(dǎo)入上圖的依賴



隨便寫個controller測試一下

測試成功

到此結(jié)束,是不是覺得starter也就這樣啊,挺好玩的一個東西,而且最重要的是這種設(shè)計的模式有點(diǎn)厲害!通過這樣的設(shè)計,居然能夠?qū)崿F(xiàn)自動配置,果然是學(xué)海無涯啊,要不斷的學(xué)習(xí)別人前輩造就出來的成果,站在巨人的肩膀上學(xué)習(xí),我們才能走得更遠(yuǎn)啊!
當(dāng)前文章:springboot手寫一個自己的starter源碼
轉(zhuǎn)載來源:http://www.chinadenli.net/article18/iiisgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化、小程序開發(fā)、網(wǎng)站排名、軟件開發(fā)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)