五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

spring學(xué)習(xí)筆記2|從源碼看springboot如何實(shí)現(xiàn)自動配置

2023-04-20 12:18 作者:便宜酒  | 我要投稿

搭建一個ssm框架需要開發(fā)者手動進(jìn)行大量配置,springboot的核心就是【自動配置】,使開發(fā)者專注于業(yè)務(wù)層。


springboot接管了:

DispatcherServlet配置

view層配置

自動導(dǎo)入依賴


【pom.xml】里有:

啟動器:使自動配置生效

spring-boot-starter開頭的


spring-boot-starter-web:web環(huán)境所有依賴。如實(shí)現(xiàn)http接口(已包含spirngmvc),容器默認(rèn)為tomcat


spring-boot-starter-test:單元測試


build:支持打包成接口在target中

【啟動類】里有:

@SpringbootApplication:導(dǎo)入啟動類下的所有資源

????????@ComponentScan:掃描主啟動類同級的包,【所以建包一定要與該類同級】

????????@SpringBootConfiguration:支持springboot的配置

????????????????@Configuration:標(biāo)記為配置類

????????????????@Component:標(biāo)記為組件


????????@EnableAutoConfiguration:支持自動配置。

????????????????@AutoConfigurationPackage:自動配置包

????????????????????????????????AutoConfigurationPackages.Registrar.class,自動將導(dǎo)入的包注冊


????????????????@Import({AutoConfigurationImportSelector.class}):導(dǎo)入自動配置選擇器,選擇????????????????????????啟動類要用的配置導(dǎo)入,AutoConfigurationImportSelector.class里有:

????????????????????List<String> configurations =

this.getCandidateConfigurations(annotationMetadata, attributes),獲取了所有配置。


getCandidateConfigurations方法里有一個load方法,加載了META-INF/spring/%s.imports”里的自動配置類,注意,這是一大堆是所有的自動配置類,包括此工程用不上的

它們的@ConditionalOnxxx注解能識別哪些是需要的,以類名形式返回,添加到容器,這些類標(biāo)記為bean。



getCandidateConfigurations方法下面還有一個空判斷:

"No auto configuration classes found in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. If you are using a custom packaging, make sure that file is correct.”告訴開發(fā)者你要的配置類真找不到了,換個版本吧


找到META-INF/spring.factories,第四項(xiàng)# Auto Configuration Import Filters就是springboot幫我們導(dǎo)入的、用得上的自動配置類。只要我們pom.xml導(dǎo)入了對應(yīng)啟動器,就會配置成功。


綜上,springboot在啟動時掃描AutoConfiguration.imports. 根據(jù)@ConditionalOnxxx注解能識別哪些是需要的,加載到spring.factories,完成了自動配置。


?ps:我的springboot版本是3.0.5,老一點(diǎn)的版本貌似將所有配置類也放在spring.factories中,但仍通過@ConditionalOnxxx判斷。不太會看源碼,歡迎大佬指正。


spring學(xué)習(xí)筆記2|從源碼看springboot如何實(shí)現(xiàn)自動配置的評論 (共 條)

分享到微博請遵守國家法律
虞城县| 龙游县| 沁阳市| 延寿县| 蛟河市| 丹江口市| 扎囊县| 益阳市| 多伦县| 绥棱县| 腾冲县| 镇坪县| 鞍山市| 康马县| 平乐县| 岳西县| 邓州市| 金昌市| 阳山县| 荆州市| 三门峡市| 大丰市| 浦北县| 开封市| 三都| 长子县| 安顺市| 焦作市| 五常市| 麻栗坡县| 河源市| 嘉禾县| 伊吾县| 惠水县| 荥阳市| 营山县| 东山县| 杂多县| 星座| 深水埗区| 连州市|