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

springboot中的starter使用解析

 更新時(shí)間:2023年10月21日 08:40:18   作者:jjavaboy  
這篇文章主要介紹了springboot中的starter使用解析,引入了starter依賴之后,基礎(chǔ)組件就可以像在spring的bean一樣在項(xiàng)目中使用,那其實(shí)只要找到在哪里加載了這些bean就明白了,需要的朋友可以參考下

springboot中的starter

平時(shí)spring boot項(xiàng)目使用mybatis的可能很大概念都會(huì)見到引入依賴

<dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>xx.xx.xx</version>
</dependency>

或者有時(shí)我們也會(huì)引入一些自己項(xiàng)目基礎(chǔ)組件的starter依賴,有時(shí)不明白原理的可以就比較迷茫,主要是引入了starter依賴之后,基礎(chǔ)組件就可以像在spring的bean一樣在項(xiàng)目中使用,那其實(shí)只要找到在哪里加載了這些bean就明白了。

因?yàn)閙ybatis-spring-boot-starter里還依賴了一些跟mybatis相關(guān)的依賴,如下:

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-autoconfigure</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
    </dependency>
  </dependencies>

仔細(xì)看有依賴包mybatis-spring-boot-autoconfigure,這里就是真正加載bean的,

在這里插入圖片描述

包里有文件META-INF/spring.factories,內(nèi)容:

# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.mybatis.spring.boot.autoconfigure.MybatisLanguageDriverAutoConfiguration,\
org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration

繼續(xù)看看兩個(gè)類

@org.springframework.context.annotation.Configuration
@ConditionalOnClass({ SqlSessionFactory.class, SqlSessionFactoryBean.class })
@ConditionalOnSingleCandidate(DataSource.class)
@EnableConfigurationProperties(MybatisProperties.class)
@AutoConfigureAfter({ DataSourceAutoConfiguration.class, MybatisLanguageDriverAutoConfiguration.class })
public class MybatisAutoConfiguration implements InitializingBean {
   //...
}
@Configuration
@ConditionalOnClass(LanguageDriver.class)
public class MybatisLanguageDriverAutoConfiguration {
   //...
}

這里已經(jīng)比較明朗了,平時(shí)我們使用spring boot定義bean時(shí)都會(huì)寫@Configuration修飾的類里去注冊bean到spring容器里的,所以starter主要就是在META-INF/spring.factories文件指定好bean注冊類,讓spring容器啟動(dòng)時(shí)去掃描注冊bean就可以了。 但是我們在項(xiàng)目里@Configuration注冊的bean可以,而依賴包里的就要額外加上META-INF/spring.factories來指定注冊類,因?yàn)閟pring默認(rèn)只會(huì)掃描當(dāng)前項(xiàng)目里的@Configuration類,所以需要加上META-INF/spring.factories來指定注冊類,這樣spring可以額外掃描依賴包里的注冊bean,其實(shí)就是使用了類似SPI機(jī)制,可以讓使用者可以自行擴(kuò)展實(shí)現(xiàn)類。

到此這篇關(guān)于springboot中的starter使用解析的文章就介紹到這了,更多相關(guān)springboot中的starter內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)的mysql事務(wù)處理操作示例

    Java實(shí)現(xiàn)的mysql事務(wù)處理操作示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的mysql事務(wù)處理操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java基于JDBC操作mysql數(shù)據(jù)庫實(shí)現(xiàn)事務(wù)處理的相關(guān)概念、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • CompletableFuture創(chuàng)建及功能使用全面詳解

    CompletableFuture創(chuàng)建及功能使用全面詳解

    這篇文章主要為大家介紹了CompletableFuture創(chuàng)建及功能使用全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 使用IDEA搭建Hadoop開發(fā)環(huán)境的操作步驟(Window10為例)

    使用IDEA搭建Hadoop開發(fā)環(huán)境的操作步驟(Window10為例)

    經(jīng)過三次重裝,查閱無數(shù)資料后成功完成hadoop在win10上實(shí)現(xiàn)偽分布式集群,以及IDEA開發(fā)環(huán)境的搭建。一步一步跟著本文操作可以避免無數(shù)天坑
    2021-07-07
  • spring mvc url匹配禁用后綴訪問操作

    spring mvc url匹配禁用后綴訪問操作

    這篇文章主要介紹了spring mvc url匹配禁用后綴訪問操作,具有很好的參考價(jià)值,希望對大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家
    2021-07-07
  • 基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程

    基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程

    這篇文章主要介紹了基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • 利用SpringBoot實(shí)現(xiàn)高效的文件分塊上傳方案

    利用SpringBoot實(shí)現(xiàn)高效的文件分塊上傳方案

    在互聯(lián)網(wǎng)應(yīng)用中,大文件上傳是一個(gè)常見而棘手的挑戰(zhàn),傳統(tǒng)的單文件上傳方式在面對大文件時(shí)經(jīng)常面臨超時(shí)、內(nèi)存溢出等問題,本文將深入探討如何利用Spring Boot實(shí)現(xiàn)高效的分塊上傳方案,解決大文件傳輸痛點(diǎn),需要的朋友可以參考下
    2025-06-06
  • 利用openoffice+jodconverter-code-3.0-bate4實(shí)現(xiàn)ppt轉(zhuǎn)圖片

    利用openoffice+jodconverter-code-3.0-bate4實(shí)現(xiàn)ppt轉(zhuǎn)圖片

    這篇文章主要為大家詳細(xì)介紹了利用openoffice+jodconverter-code-3.0-bate4實(shí)現(xiàn)ppt轉(zhuǎn)圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • JavaCV與FFmpeg音視頻流處理技巧總結(jié)大全

    JavaCV與FFmpeg音視頻流處理技巧總結(jié)大全

    JavaCV是一個(gè)開源的Java接口,它為幾個(gè)著名的計(jì)算機(jī)視覺庫(如OpenCV、FFmpeg)提供了Java封裝,這篇文章主要給大家介紹了關(guān)于JavaCV與FFmpeg音視頻流處理技巧總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • springcloud?如何解決微服務(wù)之間token傳遞問題

    springcloud?如何解決微服務(wù)之間token傳遞問題

    這篇文章主要介紹了springcloud?如何解決微服務(wù)之間token傳遞問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java的異常體系以及File類構(gòu)造方法詳解

    Java的異常體系以及File類構(gòu)造方法詳解

    這篇文章主要為大家介紹了Java的異常體系以及File類構(gòu)造方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評(píng)論

秭归县| 当涂县| 泽普县| 江川县| 河源市| 蒙自县| 安康市| 淮阳县| 分宜县| 漾濞| 谢通门县| 新巴尔虎左旗| 容城县| 麻城市| 天祝| 晋城| 东方市| 兖州市| 尤溪县| 滦南县| 巴楚县| 丰县| 罗田县| 资中县| 河北区| 南靖县| 新竹市| 扶余县| 博野县| 兰溪市| 东丰县| 高雄县| 朝阳区| 赤壁市| 佛山市| 申扎县| 甘洛县| 竹山县| 屯留县| 云和县| 康保县|