最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot手寫一個(gè)自己的starter源碼

 更新時(shí)間:2019年06月07日 09:45:01   投稿:laozhang  
在本篇文章里小編給大家整理了關(guān)于springboot手寫一個(gè)自己的starter源碼的全部知識點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。

springboot的最強(qiáng)大的就是那些xxxAutoconfiguration,但是這些xxxAutoConfiguration又依賴那些starter,只有導(dǎo)入了這些場景啟動器(starter),我們很多自動配置類才能有用,并且還會新增一些功能,這次就來一起寫個(gè)簡單的starter,來看看內(nèi)部到底是什么原理!

腦中大概有個(gè)印象:我們要用一個(gè)場景(比如web),直接導(dǎo)入下圖所示的依賴,但是在jar包里面去看這個(gè),你會發(fā)現(xiàn)里面只有一些基本的配置文件,什么類都沒有,就能夠想到這個(gè)一類就類似一個(gè)公司前臺的作用,通過這個(gè)公司前臺,能夠聯(lián)系到公司內(nèi)部。

提前準(zhǔn)備:必須要有IDEA模塊化創(chuàng)建項(xiàng)目的基本操作,其他的隨意。

溫馨提醒:對于會用模塊的小伙伴,其實(shí)這里就是創(chuàng)建一個(gè)空項(xiàng)目,里面新建一個(gè)maven模塊,一個(gè)springboot模塊,springboot坐標(biāo)丟到maven的pom里面,再刪除一些多余的文件和依賴。

1.創(chuàng)建一個(gè)空的項(xiàng)目

  

 

然后就會跳出下圖這個(gè)頁面

 

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

  

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

 

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

 

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

到這里,基本的準(zhǔn)備工作已經(jīng)完成(其實(shí)會用模塊式的直接能跳到這里來)

記?。簒xxstarter是前臺,只是起到一個(gè)聯(lián)系作用(所以我們基本不配置這個(gè)),沒有什么其他功能,但是那個(gè)xxxautoconfiguration才是內(nèi)部有實(shí)權(quán)的老板

現(xiàn)在我們來做個(gè)老板出來,嘿嘿嘿!

下面看我的目錄結(jié)構(gòu)

 從頭到尾看一下這些類里面有什么

第一個(gè):HelloProperties

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

第三個(gè)HelloWorldAutoconfiguration

第四個(gè).spring.factories文件

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

另外一個(gè)starter一樣的操作

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

 測試:

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

隨便寫個(gè)controller測試一下

測試成功

  

到此結(jié)束,是不是覺得starter也就這樣啊,挺好玩的一個(gè)東西,而且最重要的是這種設(shè)計(jì)的模式有點(diǎn)厲害!通過這樣的設(shè)計(jì),居然能夠?qū)崿F(xiàn)自動配置,果然是學(xué)海無涯啊,要不斷的學(xué)習(xí)別人前輩造就出來的成果,站在巨人的肩膀上學(xué)習(xí),我們才能走得更遠(yuǎn)??!

相關(guān)文章

  • Java Method類及invoke方法原理解析

    Java Method類及invoke方法原理解析

    這篇文章主要介紹了Java Method類及invoke方法原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 詳解Mybatis中常用的約束文件

    詳解Mybatis中常用的約束文件

    這篇文章主要介紹了詳解Mybatis中常用的約束文件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Spring Boot Actuator自定義健康檢查教程

    Spring Boot Actuator自定義健康檢查教程

    這篇文章主要介紹了Spring Boot Actuator自定義健康檢查教程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java面向?qū)ο蟪绦蛟O(shè)計(jì):繼承,多態(tài)用法實(shí)例分析

    Java面向?qū)ο蟪绦蛟O(shè)計(jì):繼承,多態(tài)用法實(shí)例分析

    這篇文章主要介紹了Java面向?qū)ο蟪绦蛟O(shè)計(jì):繼承,多態(tài)用法,結(jié)合實(shí)例形式分析了java繼承與多態(tài)的相關(guān)概念、原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • java實(shí)現(xiàn)四子棋游戲

    java實(shí)現(xiàn)四子棋游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)四子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 一文讓你徹底明白Java中的值傳遞和引用傳遞

    一文讓你徹底明白Java中的值傳遞和引用傳遞

    這篇文章主要給大家介紹了關(guān)于Java中值傳遞和引用傳遞的相關(guān)資料,值傳遞是指在調(diào)用函數(shù)時(shí)將實(shí)際參數(shù)復(fù)制一份傳遞到函數(shù)中,引用傳遞是指在調(diào)用函數(shù)時(shí)將實(shí)際參數(shù)的引用直接傳遞到函數(shù)中,需要的朋友可以參考下
    2023-10-10
  • Java中迭代器Iterator的使用解析

    Java中迭代器Iterator的使用解析

    Java采用了迭代器來為各種容器提供了公共的操作接口,下面通過本文給大家分享Java中迭代器Iterator的使用解析,需要的朋友參考下吧
    2017-09-09
  • springboot接入netty實(shí)現(xiàn)在線統(tǒng)計(jì)人數(shù)

    springboot接入netty實(shí)現(xiàn)在線統(tǒng)計(jì)人數(shù)

    本文主要介紹了springboot接入netty實(shí)現(xiàn)在線統(tǒng)計(jì)人數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • java實(shí)現(xiàn)Floyd算法

    java實(shí)現(xiàn)Floyd算法

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Floyd算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Java詳細(xì)講解Math和Random類中有哪些常用方法

    Java詳細(xì)講解Math和Random類中有哪些常用方法

    Math類位于java.lang包中,包含很多用于科學(xué)計(jì)算的類方法,這些方法可以直接通過類名調(diào)用。Random類獲取隨機(jī)數(shù),位于java.util包中,本篇帶你了解它們的常用方法
    2022-05-05

最新評論

额济纳旗| 苏尼特左旗| 鲜城| 仁化县| 德钦县| 隆化县| 红原县| 瑞丽市| 内黄县| 东乌珠穆沁旗| 全椒县| 扎赉特旗| 巴彦淖尔市| 遂溪县| 招远市| 友谊县| 普洱| 易门县| 南陵县| 岑溪市| 香格里拉县| 英山县| 台湾省| 永康市| 龙山县| 略阳县| 洪洞县| 新余市| 贵定县| 五家渠市| 阳春市| 雷山县| 马龙县| 积石山| 新和县| 阿勒泰市| 望奎县| 永嘉县| 封丘县| 奉贤区| 翼城县|