springBoot自動(dòng)配置的全過(guò)程
什么是自動(dòng)配置
以前整合spring + mybatis框架時(shí)候,需要加很多的bean,
比如說(shuō)sqlSessionFactory等等現(xiàn)在springboot幫我們干了,
我們只需要引入對(duì)應(yīng)的starter就可以了。
springBoot可以幫我們配置好了一些bean. 如mysql, mogondb相關(guān)操作等等,目前有100多個(gè)。
不需要我們一個(gè)一個(gè)的import:
單個(gè)導(dǎo)入效率太低了。
如何實(shí)現(xiàn)批量導(dǎo)入?
@import(AutoConfigurationImportSelector.class)
通過(guò)AutoConfigurationImportSelector.selectImports方法導(dǎo)入配置類集合。
當(dāng)然其他jar里面也可以有配置類,不一定都會(huì)在starter里面。
需要其他jar里面主動(dòng)告訴springBoot,說(shuō)明是配置類:文件路徑為meta-inf/spirng.factories
尋找步驟
1 jar找文件
meta-inf/spirng.factories
2 找key
3 values是配置類
4 去重
5 classLoader加載類
找到自動(dòng)配置類名字
6 過(guò)濾無(wú)關(guān)的配置類
先看依賴,看pom里面是否有,然后再看是否有關(guān)鍵類。
有135個(gè)配置類,無(wú)關(guān)配置類很多,
通過(guò)spring-autoconfigure-metadata.propertes文件
先其他jvm, 在啟動(dòng)spring容器,導(dǎo)致速度比較慢。
其他
springBoot3.0后,使用了gravVM技術(shù),在編譯時(shí)候就開(kāi)始把bean掃描出來(lái)。
后面啟動(dòng)時(shí)候直接注冊(cè)加載bean,不需要再進(jìn)行掃描
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java設(shè)計(jì)模式之橋模式(Bridge模式)介紹
這篇文章主要介紹了Java設(shè)計(jì)模式之橋模式(Bridge模式)介紹,本文講解了為什么使用橋模式、如何實(shí)現(xiàn)橋模式、Bridge模式在EJB中的應(yīng)用等內(nèi)容,需要的朋友可以參考下2015-03-03mybatis查詢結(jié)果返回至實(shí)體類的示例代碼
這篇文章主要介紹了mybatis查詢結(jié)果返回至實(shí)體類的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Mybatis 一級(jí)緩存與二級(jí)緩存的實(shí)現(xiàn)
mybatis作為一個(gè)流行的持久化工具,緩存必然是缺少不了的組件。通過(guò)這篇文章,就讓我們來(lái)了解一下一級(jí)緩存與二級(jí)緩存的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05java保證對(duì)象在內(nèi)存中唯一性的實(shí)現(xiàn)方法
這篇文章主要介紹了java如何保證對(duì)象在內(nèi)存中的唯一性,如果創(chuàng)建多個(gè)對(duì)象的話,可能會(huì)引發(fā)出各種各樣的問(wèn)題,這時(shí),就需要我們保證這個(gè)對(duì)象在內(nèi)存中的唯一性,需要的朋友可以參考下2019-06-06解決java中mybatis報(bào)錯(cuò):org.apache.ibatis.binding.BindingException:
這篇文章主要介紹了解決java中mybatis報(bào)錯(cuò):org.apache.ibatis.binding.BindingException:Invalid bound statement(not found):xx問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2024-03-03feign GET請(qǐng)求不支持對(duì)象傳參的坑及解決
這篇文章主要介紹了feign GET請(qǐng)求不支持對(duì)象傳參的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Java Web實(shí)現(xiàn)自動(dòng)登陸功能
這篇文章主要為大家詳細(xì)介紹了Java Web實(shí)現(xiàn)自動(dòng)登陸功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08