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

SpringBoot自動(dòng)化配置原理和自定義starter方式

 更新時(shí)間:2026年04月29日 09:51:58   作者:又旅行又開(kāi)拓的繩匠..  
SpringBoot自動(dòng)配置機(jī)制主要通過(guò)-spring-boot-starter和-spring-boot-autoconfigure創(chuàng)建自定義starter模塊,使用EnableAutoConfiguration注解加載自動(dòng)配置類,啟動(dòng)類通過(guò)創(chuàng)建Spring容器完成自動(dòng)化裝配

SpringBoot自動(dòng)化配置原理和自定義starter

SpringBootConfiguration

底層是一個(gè)Configuration,表示啟動(dòng)類也是一個(gè)配置類,可以在內(nèi)部定義相關(guān)Bean

ComponentScan

表示組件掃描,默認(rèn)會(huì)掃描啟動(dòng)類包及子包下Spring能識(shí)別的組件

EnableAutoConfiguration

底層是一個(gè)Import注解

該注解中導(dǎo)入 AutoConfigurationImportSelector類,該類最終實(shí)現(xiàn)了ImportSelector

該類中有一個(gè) selectImports 方法會(huì)被調(diào)用,

selectImports()方法底層調(diào)用getAutoConfigurationEntry()方法,獲取可自動(dòng)配置的配置類信息集合

getAutoConfigurationEntry()方法通過(guò)調(diào)用getCandidateConfigurations(annotationMetadata, attributes)方法獲取在配置文件中配置的所有自動(dòng)配置類的集合

獲取所有基于 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中配置類的集合

并篩選滿足starter和各種Condtional條件的全類名,封裝成一個(gè)字符串?dāng)?shù)組加載到內(nèi)存中

啟動(dòng)類會(huì)通過(guò)run方法去創(chuàng)建與初始化Spring容器,在初始化時(shí)會(huì)把上面注解加載到內(nèi)存中的字符串?dāng)?shù)組對(duì)應(yīng)的內(nèi)容,創(chuàng)建成對(duì)象注入到Spring容器,至此就完成了自動(dòng)化裝配

自定義starte

創(chuàng)建自定義starter模塊 方法名-spring-boot-starter(進(jìn)行依賴管理)

把所有的依賴統(tǒng)一管理起來(lái)

創(chuàng)建autoconfigure模塊 方法名-spring-boot-autoconfigure

在starter中引入autoconfigure (只需要引入starter起步依賴即可)

在autoconfigure模塊方法名-spring-boot-autoconfigure中完成自動(dòng)配置

定義一個(gè)自動(dòng)配置類,在自動(dòng)配置類中將所要配置的bean都提前配置好

定義配置文件,把自動(dòng)配置類的全類名定義在配置文件(META-INF/spring/xxxx.imports)中

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java如何獲取對(duì)象屬性及對(duì)應(yīng)值

    Java如何獲取對(duì)象屬性及對(duì)應(yīng)值

    這篇文章主要介紹了Java如何獲取對(duì)象屬性及對(duì)應(yīng)值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 淺析javax.servlet.Servlet,ServletContext接口

    淺析javax.servlet.Servlet,ServletContext接口

    本篇文章是對(duì)javax.servlet.Servlet,ServletContext接口進(jìn)行了纖細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • Java打亂數(shù)組元素簡(jiǎn)單代碼例子

    Java打亂數(shù)組元素簡(jiǎn)單代碼例子

    在Java編程中,我們經(jīng)常需要對(duì)數(shù)組進(jìn)行亂序操作(即將數(shù)組中的元素隨機(jī)打亂順序),這篇文章主要給大家介紹了關(guān)于Java打亂數(shù)組元素的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • java實(shí)現(xiàn)簡(jiǎn)單的圖書(shū)借閱系統(tǒng)

    java實(shí)現(xiàn)簡(jiǎn)單的圖書(shū)借閱系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的圖書(shū)借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 使用Java高效將CSV轉(zhuǎn)換為Excel的實(shí)現(xiàn)方法

    使用Java高效將CSV轉(zhuǎn)換為Excel的實(shí)現(xiàn)方法

    在日常的數(shù)據(jù)處理和分析工作中,CSV文件因其輕量級(jí)和通用性而廣受歡迎,然而,當(dāng)我們需要進(jìn)行復(fù)雜的數(shù)據(jù)分析或利用Excel強(qiáng)大的圖表和公式功能時(shí),將CSV數(shù)據(jù)轉(zhuǎn)換為Excel文件就成了開(kāi)發(fā)者們常見(jiàn)的需求和痛點(diǎn),本文將深入探討如何利用Java高效地將CSV轉(zhuǎn)換為Excel
    2025-08-08
  • MyBatis連接池的深入和動(dòng)態(tài)SQL詳解

    MyBatis連接池的深入和動(dòng)態(tài)SQL詳解

    這篇文章主要介紹了MyBatis連接池的深入和動(dòng)態(tài)SQL詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 解決mybatis用Map返回的字段全變大寫(xiě)的問(wèn)題

    解決mybatis用Map返回的字段全變大寫(xiě)的問(wèn)題

    這篇文章主要介紹了解決mybatis用Map返回的字段全變大寫(xiě)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • Java編程利用socket多線程訪問(wèn)服務(wù)器文件代碼示例

    Java編程利用socket多線程訪問(wèn)服務(wù)器文件代碼示例

    這篇文章主要介紹了Java編程利用socket多線程訪問(wèn)服務(wù)器文件代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • MyBatis使用注解開(kāi)發(fā)實(shí)現(xiàn)過(guò)程詳解

    MyBatis使用注解開(kāi)發(fā)實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了MyBatis使用注解開(kāi)發(fā)實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • MySQL?MyBatis?默認(rèn)插入當(dāng)前時(shí)間方式

    MySQL?MyBatis?默認(rèn)插入當(dāng)前時(shí)間方式

    這篇文章主要介紹了MySQL?MyBatis?默認(rèn)插入當(dāng)前時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評(píng)論

和硕县| 宁南县| 卢龙县| 阳山县| 牟定县| 太仓市| 易门县| 望城县| 九龙坡区| 沛县| 涪陵区| 平凉市| 子长县| 宁乡县| 康保县| 呈贡县| 顺昌县| 怀来县| 荔浦县| 建瓯市| 阳城县| 景洪市| 涞水县| 芦山县| 鄂托克前旗| 玉屏| 新龙县| 苏尼特右旗| 永善县| 临漳县| 诏安县| 岫岩| 恩平市| 东城区| 泸溪县| 长治县| 新丰县| 九寨沟县| 洪洞县| 揭西县| 英德市|