欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談spring.factories文件的作用

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

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

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

即spring.factories文件是幫助spring-boot項(xiàng)目包以外的bean(即在pom文件中添加依賴(lài)中的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類(lèi)名。

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

相關(guān)文章

  • idea中Stash與Unstash的使用及說(shuō)明

    idea中Stash與Unstash的使用及說(shuō)明

    這篇文章主要介紹了idea中Stash與Unstash的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java異步控制方法的超時(shí)時(shí)間問(wèn)題

    java異步控制方法的超時(shí)時(shí)間問(wèn)題

    這篇文章主要介紹了java異步控制方法的超時(shí)時(shí)間問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • mybatisPlus條件構(gòu)造器常用方法小結(jié)

    mybatisPlus條件構(gòu)造器常用方法小結(jié)

    這篇文章主要介紹了mybatisPlus條件構(gòu)造器常用方法,首先是.select和其他條件,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • jar包加密方案分享

    jar包加密方案分享

    如何對(duì)jar包進(jìn)行加密呢?其實(shí)沒(méi)有想象中的那么困難,有一款開(kāi)源工具已經(jīng)提供了較為完善的加密方案,這款開(kāi)源工具的名字叫做xjar。接下來(lái)我們就看一下使用xjar工具給jar包加密有多么的容易。
    2021-06-06
  • springboot獲取根目錄下lib目錄下文件位置

    springboot獲取根目錄下lib目錄下文件位置

    在 Spring Boot 項(xiàng)目中,如果你有一個(gè) lib 目錄,并且需要訪問(wèn)這個(gè)目錄下的文件,你可以通過(guò)幾種不同的方式來(lái)獲取該文件的位置,下面小編就來(lái)和大家詳細(xì)講講
    2024-12-12
  • idea如何配置javafxsdk詳細(xì)教程

    idea如何配置javafxsdk詳細(xì)教程

    這篇文章主要介紹了idea如何配置javafxsdk,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)火鍋工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java繪圖技術(shù)的詳解及實(shí)例

    Java繪圖技術(shù)的詳解及實(shí)例

    這篇文章主要介紹了Java繪圖技術(shù)的詳解及實(shí)例的相關(guān)資料,這里主要詳解Graphics類(lèi)的使用,需要的朋友可以參考下
    2017-08-08
  • 解決spring-boot-starter-web等報(bào)紅問(wèn)題

    解決spring-boot-starter-web等報(bào)紅問(wèn)題

    這篇文章主要介紹了解決spring-boot-starter-web等報(bào)紅問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Spring Cloud Zuul集成Swagger實(shí)現(xiàn)過(guò)程解析

    Spring Cloud Zuul集成Swagger實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Spring Cloud Zuul集成Swagger實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java中如何模擬HTTP請(qǐng)求并驗(yàn)證功能

    Java中如何模擬HTTP請(qǐng)求并驗(yàn)證功能

    要模擬HTTP請(qǐng)求并驗(yàn)證功能,你可以使用Spring Boot提供的MockMvc工具,它允許我們?cè)跊](méi)有實(shí)際啟動(dòng)HTTP服務(wù)器的情況下測(cè)試Spring MVC控制器,下面給大家分享如何模擬HTTP請(qǐng)求并驗(yàn)證功能,感興趣的朋友一起看看吧
    2024-05-05

最新評(píng)論