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

淺談spring.factories文件的作用

 更新時(shí)間:2024年06月23日 11:42:39   作者:Archie_java  
本文主要介紹了淺談spring.factories文件的作用,spring.factories文件是Spring?Boot自動(dòng)配置的核心文件之一,它的作用是將各種自動(dòng)配置類與對(duì)應(yīng)的配置類集中在一起,下面就來(lái)介紹一下如何使用,感興趣的可以了解一下

對(duì)于在maven中引用的其他外部包加入容器的過程,需要用到spring.factories。

spring.factories文件是Spring Boot自動(dòng)配置的核心文件之一,它的作用是將各種自動(dòng)配置類與對(duì)應(yīng)的配置類集中在一起,方便Spring Boot自動(dòng)裝配。在Spring Boot啟動(dòng)時(shí),它會(huì)掃描classpath下所有的spring.factories文件,加載其中的自動(dòng)配置類,并將它們注入到Spring ApplicationContext中,使得項(xiàng)目能夠自動(dòng)運(yùn)行。該文件的格式為鍵值對(duì),鍵是自動(dòng)配置類的全限定名,值是該自動(dòng)配置類所對(duì)應(yīng)的配置類的全限定名。

首先@SpringApplication注解標(biāo)識(shí)在啟動(dòng)類上, 它是一個(gè)組合注解點(diǎn)進(jìn)去可以看到

在這里插入圖片描述

其中@EnableAutoConfiguration也就是開啟自動(dòng)裝配, 繼續(xù)跟蹤@EnableAutoConfiguration注解, 它使用一個(gè)@Import 注解, 將一個(gè)類名為AutoConfigurationImportSelector注入到IOC容器中.

在這里插入圖片描述

這個(gè)AutoConfigurationImportSelector類很重要, 因?yàn)閟pringboot項(xiàng)目啟動(dòng)時(shí), 會(huì)調(diào)用它里面一個(gè)方法loadFactoryNames, 這個(gè)方法會(huì)掃描pom文件中引入的其他starter中的spring.factories文件, 具體的調(diào)用路徑為:

1、調(diào)用selectImports()方法

在這里插入圖片描述

2、調(diào)用getAutoConfigurationEntry( )

在這里插入圖片描述

3、–>調(diào)用getCandidateConfigurations( )–>

在這里插入圖片描述

可以看到最后調(diào)用loadFactoryNames( )方法,這個(gè)方法的邏輯就是掃描pom文件中引入的其他starter中的spring.factories文件。

spring.factories文件內(nèi)容示例如下:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.baomidou.mybatisplus.autoconfigure.MybatisPlusLanguageDriverAutoConfiguration,\
  com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration

spring.factories用鍵值對(duì)的方式記錄了所有需要加入容器的類,EnableAutoConfigurationImportSelector的selectImports方法返回的類名,來(lái)自spring.factories文件內(nèi)的配置信息,這些配置信息的key等于EnableAutoConfiguration,因?yàn)閟pring boot應(yīng)用啟動(dòng)時(shí)使用了EnableAutoConfiguration注解,所以EnableAutoConfiguration注解通過import注解將EnableAutoConfigurationImportSelector類實(shí)例化,并且將其selectImports方法返回的類名實(shí)例化后注冊(cè)到spring容器。

即spring.factories文件是幫助spring-boot項(xiàng)目包以外的bean(即在pom文件中添加依賴中的bean)注冊(cè)到spring-boot項(xiàng)目的spring容器中。由于@ComponentScan注解只能掃描spring-boot項(xiàng)目包內(nèi)的bean并注冊(cè)到spring容器中,因此需要@EnableAutoConfiguration注解來(lái)注冊(cè)項(xiàng)目包外的bean。而spring.factories文件,則是用來(lái)記錄項(xiàng)目包外需要注冊(cè)的bean類名。

到此這篇關(guān)于淺談spring.factories文件的作用的文章就介紹到這了,更多相關(guān)spring.factories作用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot+vue+elementsUI實(shí)現(xiàn)分角色注冊(cè)登錄界面功能

    springboot+vue+elementsUI實(shí)現(xiàn)分角色注冊(cè)登錄界面功能

    這篇文章主要給大家介紹了關(guān)于springboot+vue+elementsUI實(shí)現(xiàn)分角色注冊(cè)登錄界面功能的相關(guān)資料,Spring?Boot和Vue.js是兩個(gè)非常流行的開源框架,可以用來(lái)構(gòu)建Web應(yīng)用程序,需要的朋友可以參考下
    2023-07-07
  • 全面了解Java中的內(nèi)部類和匿名類

    全面了解Java中的內(nèi)部類和匿名類

    下面小編就為大家?guī)?lái)一篇全面了解Java中的內(nèi)部類和匿名類。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-07-07
  • SpringBoot配置多個(gè)數(shù)據(jù)源超簡(jiǎn)單步驟(連接多個(gè)數(shù)據(jù)庫(kù))

    SpringBoot配置多個(gè)數(shù)據(jù)源超簡(jiǎn)單步驟(連接多個(gè)數(shù)據(jù)庫(kù))

    公司項(xiàng)目有連接多個(gè)不同數(shù)據(jù)庫(kù)的需求,特研究了一下,根據(jù)網(wǎng)上的資料,這篇文章主要給大家介紹了關(guān)于SpringBoot配置多個(gè)數(shù)據(jù)源(連接多個(gè)數(shù)據(jù)庫(kù))的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • 從面試中的問題分析ThreadLocal

    從面試中的問題分析ThreadLocal

    這篇文章主要介紹了從面試中的問題分析ThreadLocal,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來(lái)一起學(xué)習(xí)一下吧
    2019-06-06
  • Java中的接口和抽象類用法實(shí)例詳解

    Java中的接口和抽象類用法實(shí)例詳解

    這篇文章主要介紹了Java中的接口和抽象類用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java中關(guān)于接口和抽象類的概念、定義、用法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2015-12-12
  • Springboot整合mybatis-plus使用pageHelper進(jìn)行分頁(yè)(使用步驟)

    Springboot整合mybatis-plus使用pageHelper進(jìn)行分頁(yè)(使用步驟)

    PageHelper是一個(gè)MyBatis分頁(yè)插件,可以方便地實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢結(jié)果的分頁(yè)功能,在Maven或Gradle項(xiàng)目中引入依賴,并在配置文件中進(jìn)行配置,本文給大家介紹Springboot整合mybatis-plus使用pageHelper進(jìn)行分頁(yè),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Spring基于xml實(shí)現(xiàn)自動(dòng)裝配流程詳解

    Spring基于xml實(shí)現(xiàn)自動(dòng)裝配流程詳解

    自動(dòng)裝配是使用spring滿足bean依賴的一種方法,spring會(huì)在應(yīng)用上下文中為某個(gè)bean尋找其依賴的bean,Spring中bean有三種裝配機(jī)制,分別是:在xml中顯式配置、在java中顯式配置、隱式的bean發(fā)現(xiàn)機(jī)制和自動(dòng)裝配
    2023-01-01
  • mapper.xml無(wú)法解析字段的問題

    mapper.xml無(wú)法解析字段的問題

    這篇文章主要介紹了mapper.xml無(wú)法解析字段的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 淺談java封裝

    淺談java封裝

    封裝封裝就是將屬性私有化,提供公有的方法訪問私有的屬性。*實(shí)現(xiàn)封裝的步驟:(1)修改屬性的可見性來(lái)限制對(duì)屬性的訪問。(2)為每個(gè)屬性創(chuàng)建一對(duì)賦值方法和取值方法,用于對(duì)這些屬性的訪問。(3)在賦值和取值方法中,加入對(duì)屬性的存取限制。
    2015-03-03
  • SpringMVC后端返回?cái)?shù)據(jù)到前端代碼示例

    SpringMVC后端返回?cái)?shù)據(jù)到前端代碼示例

    這篇文章主要介紹了SpringMVC后端返回?cái)?shù)據(jù)到前端代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論

广东省| 称多县| 宿松县| 哈巴河县| 房产| 苍溪县| 佛坪县| 伊金霍洛旗| 通榆县| 安化县| 东乡族自治县| 阿荣旗| 抚顺市| 乌兰察布市| 永定县| 泌阳县| 石城县| 潍坊市| 余江县| 正蓝旗| 云林县| 保山市| 贵定县| 麻江县| 灵川县| 青田县| 方正县| 海原县| 晴隆县| 太仓市| 区。| 桐柏县| 仪征市| 若羌县| 紫金县| 连城县| 左贡县| 莲花县| 寿阳县| 晋宁县| 丰县|