對spring-boot的自動裝配理解


自動裝配是spring-boot最核心的功能

自動裝配解決的了什么問題:

     把配置的bean(包括自己寫的和第三方的sdk)自動加入到IOC容器中。在沒有自動配置的時候,我們是用xml進行配置,然后加入到IOC容器

 

原理理解:

SpringBoot的主配置類:

 

 里面有一個main方法運行了一個run()方法,在run方法中必須要傳入一個被@SpringBootApplication注解的類。

@SpringBootApplication

SpringBoot應用標注在某個類上說明這個類是SpringBoot的主配置類,SpringBoot就會運行這個類的main方法來啟動SpringBoot項目。

那@SpringBootApplication注解到底是什么呢,點進去看看:

 

發現@SpringBootApplication是一個組合注解。

@SpringBootConfiguration

先看看@SpringBootConfiguration注解:

 

 

這個注解很簡單,表名該類是一個Spring的配置類。

再進去看看@Configuration:

 

 

 說明Spring的配置類也是Spring的一個組件。

@EnableAutoConfiguration

這個注解是開啟自動配置的功能。

 

@AutoConfigurationPackage

https://blog.csdn.net/ttyy1112/article/details/101284541

注解的作用是將 添加該注解的類所在的package 作為 自動配置package 進行管理。

可以通過 AutoConfigurationPackages 工具類獲取自動配置package列表。當通過注解@SpringBootApplication標注啟動類時,已經為啟動類添加了@AutoConfigurationPackage注解。路徑為 @SpringBootApplication -> @EnableAutoConfiguration -> @AutoConfigurationPackage。也就是說當SpringBoot應用啟動時默認會將啟動類所在的package作為自動配置的package。

 

@Import({AutoConfigurationImportSelector.class})引入AutoConfigurationImportSelector.class

 

 進入AutoConfigurationImportSelector.class

 這里有一個最重要的方法:selectImports  這個方法就是用來掃描第三方sdk的配置文件(類似vue里的插件),然后把sdk加入IOC容器

 

 下面這個就是一個第三方sdk的配置文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM