国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot原理-自動(dòng)配置-原理分析-源碼跟蹤

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot原理-自動(dòng)配置-原理分析-源碼跟蹤。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

自動(dòng)配置原理

  • SpringBootApplication

    • 該注解標(biāo)識(shí)在SpringBoot項(xiàng)目的啟動(dòng)類上,是SpringBoot中最為重要的注解,該注解由三個(gè)部分組成。
      • @SpringBootConfiguration:該注解與@Configuration注解作用一樣,用來(lái)聲明當(dāng)前類為一個(gè)配置類
      • @ComponentScan:組件掃描,默認(rèn)掃描當(dāng)前啟動(dòng)類所在包及其子包
      • @EnableAutoConfiguration:SpringBoot實(shí)現(xiàn)自動(dòng)化配置的核心注解
        • 該注解是個(gè)復(fù)合注解,其中封住了一個(gè)@Import注解,指定注入到SpringIOC容器中的ImportSelector接口的實(shí)現(xiàn)類。SpringBoot原理-自動(dòng)配置-原理分析-源碼跟蹤,Java Web學(xué)習(xí)跟蹤筆記,spring boot,java,spring
        • 具體參照文章:SpringBoot原理-自動(dòng)配置-方案_熵240的博客-CSDN博客?
        • 該實(shí)現(xiàn)類中實(shí)現(xiàn)了該接口(ImportSelector)中selectImports方法,該方法的返回值是我們要導(dǎo)入到IOC容器中的全類名的集合,SpringBoot原理-自動(dòng)配置-原理分析-源碼跟蹤,Java Web學(xué)習(xí)跟蹤筆記,spring boot,java,spring
        • 在該方法中加載了兩個(gè)文件?META-INF/springorg.springframework.boot.autoconfigure.AutoConfiguration.imports
          • META-INF/spring目錄:這個(gè)目錄下的文件是Spring Boot自動(dòng)配置的核心配置文件。在這個(gè)目錄下,可以定義多個(gè)配置文件,每個(gè)配置文件對(duì)應(yīng)一個(gè)自動(dòng)配置類。這些配置文件使用了Spring的SPI(Service Provider Interface)機(jī)制,通過(guò)SpringFactoriesLoader加載并實(shí)例化自動(dòng)配置類。

          • org.springframework.boot.autoconfigure.AutoConfiguration.imports文件:這個(gè)文件定義了需要自動(dòng)導(dǎo)入的其他自動(dòng)配置類。在自動(dòng)配置類中,可以使用@Import注解來(lái)導(dǎo)入其他自動(dòng)配置類。而在AutoConfiguration.imports文件中,可以列出需要自動(dòng)導(dǎo)入的自動(dòng)配置類的全限定類名,這樣在啟動(dòng)時(shí),Spring Boot會(huì)自動(dòng)將這些自動(dòng)配置類導(dǎo)入到容器中文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-707027.html

        • 在imports文件中會(huì)定義非常多的自動(dòng)配置類,配置類當(dāng)中也會(huì)定義很多bean對(duì)象,我們可以通過(guò)注解來(lái)設(shè)置將bean對(duì)象裝配到IOC容器的條件。具體參見(jiàn)文章:SpringBoot原理-自動(dòng)配置-原理分析-@Conditional_熵240的博客-CSDN博客? ?? ???

小結(jié)?

  • 自動(dòng)裝配簡(jiǎn)單講就是將第三方的bean以及配置類裝載到IOC容器中,開發(fā)人員就不再需要寫bean的配置了,自動(dòng)裝配的實(shí)現(xiàn)只需要在啟動(dòng)類上加入@SpringBootApplication注解就可以了,而@SpringBootApplication注解是一個(gè)復(fù)合注解,其中自動(dòng)裝配的實(shí)現(xiàn)是通過(guò)@EnableAutoConfiguration注解實(shí)現(xiàn)的,自動(dòng)裝配的實(shí)現(xiàn)主要依靠三個(gè)關(guān)鍵的技術(shù)。
    • 第一,引入Starter,啟動(dòng)依賴組件的時(shí)候,該組件中必須含有@Configuration配置類,在這個(gè)配置類中,我們需要通過(guò)@Bean注解去聲明要裝配到IOC容器中的Bean對(duì)象
    • 第二,上述配置類是放在第三方的jar包里面,然后通過(guò)SpringBoot中約定優(yōu)于配置的理念去把配置類的全路徑放在META-INF/spring.factories文件中,由此SpringBoot就可以知道第三方j(luò)ar包里面配置類的位置,當(dāng)Spring Boot啟動(dòng)時(shí),會(huì)通過(guò)SpringFactoriesLoader加載META-INF/spring.factories文件中定義的自動(dòng)配置類。然后根據(jù)條件注解的判斷,決定是否需要進(jìn)行自動(dòng)配置。
    • 第三,SpringBoot拿到所有第三方j(luò)ar包里面聲明的配置類之后,在通過(guò)Spring提供的ImportSelector接口來(lái)實(shí)現(xiàn)對(duì)于這些配置類的動(dòng)態(tài)加載,從而完成自動(dòng)裝配。該接口的實(shí)現(xiàn)類由@EnableAutoConfiguration注解中包含的@Import注解來(lái)指定。通過(guò)實(shí)現(xiàn)該中String[] selectImports()方法,該方法的返回值為需要裝入Spring IOC容器中類。

到了這里,關(guān)于SpringBoot原理-自動(dòng)配置-原理分析-源碼跟蹤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • springboot 原理分析之自動(dòng)配置

    springboot 原理分析之自動(dòng)配置

    ???????? Condition 是在 Spring 4.0 增加的條件判斷功能,通過(guò)這個(gè)可以功能可以實(shí)現(xiàn)選擇性的創(chuàng)建 Bean 操作。比如說(shuō),只有滿足某一個(gè)條件才能創(chuàng)建這個(gè) Bean ,否則就不創(chuàng)建。 ????????SpringBoot 是如何知道要?jiǎng)?chuàng)建哪個(gè) Bean 的?比如 SpringBoot 是如何知道要?jiǎng)?chuàng)建? RedisTemplate?

    2024年01月19日
    瀏覽(17)
  • SpringBoot源碼解讀與原理分析(六)WebMvc場(chǎng)景的自動(dòng)裝配

    了解了SpringBoot的自動(dòng)裝配機(jī)制之后,研究一個(gè)常見(jiàn)且實(shí)用的場(chǎng)景:當(dāng)項(xiàng)目整合SpringWebMvc后SpringBoot的自動(dòng)裝配都做了什么? 2.6.1 WebMvcAutoConfiguration 引入spring-boot-starter-web依賴后,SpringBoot會(huì)進(jìn)行WebMvc的自動(dòng)裝配,處理的核心是一個(gè)叫WebMvcAutoConfiguration的自動(dòng)配置類。 由以上源碼

    2024年02月21日
    瀏覽(24)
  • SpringBoot源碼分析(4)--Environment(下)/配置文件加載原理

    SpringBoot源碼分析(4)--Environment(下)/配置文件加載原理

    SpringBoot源碼分析 SpringBoot源碼分析(1)–@SpringBootApplication注解使用和原理/SpringBoot的自動(dòng)配置原理詳解 SpringBoot源碼分析(2)–SpringBoot啟動(dòng)源碼(萬(wàn)字圖文源碼debug講解springboot啟動(dòng)原理) SpringBoot源碼分析(3)–Environment簡(jiǎn)介/prepareEnvironment準(zhǔn)備環(huán)境(萬(wàn)字圖文源碼debug分析) 上一篇《

    2024年02月13日
    瀏覽(26)
  • 詳解SpringCloud微服務(wù)技術(shù)棧:強(qiáng)推!源碼跟蹤分析Ribbon負(fù)載均衡原理、Eureka服務(wù)部署

    詳解SpringCloud微服務(wù)技術(shù)棧:強(qiáng)推!源碼跟蹤分析Ribbon負(fù)載均衡原理、Eureka服務(wù)部署

    ?????作者簡(jiǎn)介:一位大四、研0學(xué)生,正在努力準(zhǔn)備大四暑假的實(shí)習(xí) ??上期文章:詳解SpringCloud微服務(wù)技術(shù)棧:認(rèn)識(shí)微服務(wù)、服務(wù)拆分與遠(yuǎn)程調(diào)用 ??訂閱專欄:微服務(wù)技術(shù)全家桶 希望文章對(duì)你們有所幫助 服務(wù)提供者:一次業(yè)務(wù)中,被其它微服務(wù)調(diào)用的服務(wù)(提供接口給

    2024年01月18日
    瀏覽(24)
  • SpringBoot自動(dòng)裝配原理及分析

    SpringBoot自動(dòng)裝配原理及分析

    在使用SpringBoot的時(shí)候,會(huì)自動(dòng)將Bean裝配到IOC容器中。例如我們?cè)谑褂肦edis數(shù)據(jù)庫(kù)的時(shí)候,會(huì)引入依賴spring-boot-starter-data-redis。在引入這個(gè)依賴后,服務(wù)初始化的時(shí)候,會(huì)將操作Redis需要的組件注入到Ioc容器中進(jìn)行后續(xù)使用。 自動(dòng)裝配的大致過(guò)程如下: 獲取到組件(spring-boo

    2024年01月21日
    瀏覽(18)
  • Springboot啟動(dòng)原理和自動(dòng)配置原理

    關(guān)于 springboot 啟動(dòng)流程和配置原理 很久就寫了,不過(guò)沒(méi)有詳細(xì)補(bǔ)充 ,現(xiàn)在補(bǔ)充 —— 2023-08-05 BootstrapRegistryInitializer 是一個(gè)函數(shù)是接口 org.springframework.boot.BootstrapRegistry 接口 getSpringFactoriesInstances 加載工廠中組件實(shí)現(xiàn)方式 org.springframework.core.io.support.SpringFactoriesLoader#loadSpringFacto

    2023年04月25日
    瀏覽(23)
  • SpringBoot源碼解讀與原理分析(五)SpringBoot的裝配機(jī)制

    SpringBoot源碼解讀與原理分析(五)SpringBoot的裝配機(jī)制

    前面三小節(jié)分別介紹了Spring Framewoek的模塊裝配、條件裝配和SPI機(jī)制。下面正式進(jìn)入Spring Boot的裝配機(jī)制。 實(shí)際上, Spring Boot的自動(dòng)裝配是模塊裝配+條件裝配+SPI機(jī)制的組合使用 ,而這一切都凝聚在Spring Boot主啟動(dòng)類的@SpringBootApplication注解上。 @SpringBootApplication注解是由三個(gè)注

    2024年02月19日
    瀏覽(24)
  • Springboot中SpringSecurity自動(dòng)裝配原理,源碼級(jí)別絕對(duì)詳細(xì)

    Springboot中SpringSecurity自動(dòng)裝配原理,源碼級(jí)別絕對(duì)詳細(xì)

    (1)Springboot有一個(gè)自動(dòng)配置類 SecurityFilterAutoConfiguration , SecurityFilterAutoConfiguration 只要當(dāng)項(xiàng)目中引入了SpringSecurity的相關(guān)jar包就會(huì)被自動(dòng)加載。裝載這個(gè)類是干嘛的呢? (2)如下圖, SecurityFilterAutoConfiguration 自動(dòng)配置類主要用于,當(dāng)存在名字叫做\\\"springSecurityFilterChain\\\"的bea

    2024年02月05日
    瀏覽(26)
  • SpringBoot自動(dòng)配置的原理

    SpringBoot自動(dòng)配置的原理

    以WebMvcAutoConfiguration自動(dòng)配置的原理為例,SpringBoot內(nèi)部對(duì)大量的第三方庫(kù)或Spring內(nèi)部庫(kù)進(jìn)行了默認(rèn)配置,這些配置是否生效,取決于我們是否引入了對(duì)應(yīng)庫(kù)所需的依賴,如果有那么默認(rèn)配置就會(huì)生效。如果引入springboot-starter-web那么對(duì)應(yīng)的web配置就會(huì)自動(dòng)配置。那么是如何自動(dòng)

    2024年02月09日
    瀏覽(25)
  • SpringBoot自動(dòng)配置原理

    SpringBoot自動(dòng)配置原理

    springboot是基于spring的新型的輕量級(jí)框架,最厲害的地方當(dāng)屬**自動(dòng)配置。**那我們就可以根據(jù)啟動(dòng)流程和相關(guān)原理來(lái)看看,如何實(shí)現(xiàn)傳奇的自動(dòng)配置 從上面代碼可以看出,Annotation定義(@SpringBootApplication)和類定義(SpringApplication.run)最為耀眼,所以要揭開SpringBoot的神秘面紗

    2024年01月21日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包