spring boot核心原理,啟動原理

2021-10-02 05:13:33 字數 1123 閱讀 8702

1.它是個什麼東西?

2.什麼是約定優於配置?

一般的目錄結構如下:

b).預設的打包方式為jar

pom檔案中引入了spring-boot-starter-web,其中包含了spring-boot-starter和spring-boot-web,包含了自動配置、日誌和yaml,自動幫我們引入了web模組開發需要的相關jar包;還內嵌了tomcat容器,一鍵啟動專案。

1.springboot的自動裝配原理是什麼?

run()方法中會執行refreshcontext()方法:

內部會解析我們的配置類上的標籤.實現自動裝配功能的註解。

@enableautoconfiguration中@import註解會引入配置類autoconfigurationimportselector,這個類裡有個springfactoriesloader.loadfactorynames(getspringfactoriesloade***ctoryclass(), getbeanclassloader());方法,會讀取jar包中的/專案中的meta-inf/spring.factories檔案;

2.springboot的spi機制

spi機制的全稱是service provider inte***ce,是為某個介面尋找實現的機制;當前專案提供了服務介面的實現之後,在jar包的meta-inf/services/目錄裡同時建立以服務介面命名的檔案。該檔案裡就是實現該服務介面的具體實現類。而當外部程式裝配這個模組的時候,就能通過該jar包meta-inf/services/裡的配置檔案找到具體的實現類名,並裝載例項化,完成模組的注入。通過這個約定,就不需要把服務放在**中了,通過模組被裝配的時候就可以發現服務類了。

Spring boot核心註解

這裡面必須注意的註解是 springbootconfiguration enableautoconfiguration componentscan 二 springbootconfiguration 這個註解其實可以當場configuration 三 enableautoconfiguration ...

Spring Boot核心註解

代表springboot的啟動類 2 springbootconfiguration 通過bean物件來獲取配置資訊 3 configuration 通過對bean物件的操作,替代spring中xml檔案 4 enableautoconfiguration 初始化環境的配置 5 componensc...

Spring Boot核心配置

在包根目錄下新增啟動類,必須包含main方法,再新增spring boot啟動方法 或者流式api com example myproject domain customer.j a customerrepository.j a service customerservice.j a web cus...