<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
裡面有一個main方法執行了一個run()方法,在run方法中必須要傳入一個被@SpringBootApplication註解的類。
@SpringBootApplication
SpringBoot應用標註在某個類上說明這個類是SpringBoot的主設定類,SpringBoot就會執行這個類的main方法來啟動SpringBoot專案。
那@SpringBootApplication註解到底是什麼呢,點進去看看:
發現@SpringBootApplication是一個組合註解。
@SpringBootConfiguration
這個註解很簡單,表明該類是一個Spring的設定類。
說明Spring的設定類也是Spring的一個元件。
@EnableAutoConfiguration
這個註解是開啟自動設定的功能。
這個註解是自動設定包,主要是使用的@Import來給Spring容器中匯入一個元件 ,這裡匯入的是Registrar.class。
就是通過這個方法獲取掃描的包路徑,可以debug看看:
進入斷點處
看看能否獲取掃描的包路徑
已經獲取到了包路徑
那那個metadata是什麼呢?
可以看到是標註在@SpringBootApplication註解上的DemosbApplication,也就是我們的主設定類:
說白了就是將主設定類(即@SpringBootApplication標註的類)的所在包及子包裡面所有元件掃描載入到Spring容器。
所以包名一定要注意。
現在包掃描路徑獲取到了,那具體載入哪些元件呢,看看下面這個註解。
@Import({AutoConfigurationImportSelector.class})
@Import註解就是給Spring容器中匯入一些元件,這裡傳入了一個元件的選擇器:AutoConfigurationImportSelector。
裡面有一個selectImports方法,將所有需要匯入的元件以全類名的方式返回;這些元件就會被新增到容器中。
會給容器中匯入非常多的自動設定類(xxxAutoConfiguration);就是給容器中匯入這個場景需要的所有元件,並設定好這些元件:
有了自動設定類,免去了我們手動編寫設定注入功能元件等的工作。
那他是如何獲取到這些設定類的呢,看看上面這個方法:
會從META-INF/spring.factories中獲取資源,然後通過Properties載入資源:
Spring Boot在啟動的時候從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值,將這些值作為自動設定類匯入到容器中,自動設定類就生效,幫我們進行自動設定工作。
以前我們需要自己設定的東西,自動設定類都幫我們完成了。
J2EE的整體整合解決方案和自動設定都在spring-boot-autoconfigure-2.0.3.RELEASE.jar:
都已經幫我們設定好了,我們不用再單獨設定了:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45