更新時間:2022年06月28日15時51分 來源:傳智教育 瀏覽次數(shù):
SpringApplication這個類整合了其他框架的啟動類, 只要運(yùn)行這一個類,所有的整合就都完成了,調(diào)用run函數(shù), 將當(dāng)前啟動類的字節(jié)碼傳入(主要目的是傳入@SpringBootApplication這個注解), 以及main函數(shù)的args參數(shù)
在@SpringBootApplication注解中包含比較重要的注解: @EnableAutoConfiguration、@ComponentScan、@SpringBootConfiguration
@EnableAutoConfiguration注解中又包含一個@Import注解,該注解有一個類叫AutoConfigurationImportSelector,該類實現(xiàn)了ImportSelector接口的selectImports方法,該方法會去查詢META-INF下的spring.factories文件。spring.properties文件中所有的EnableAutoConfiguration為key的全類名都會加載,但不一定都會放入IoC容器中,要判斷他們是否滿足Conditional的條件
@ComponentScan注解: 它會默認(rèn)掃描@ComponentScan所在類的package及子包進(jìn)行掃描
@SpringBootConfiguration: 標(biāo)注當(dāng)前類是配置類,并會將當(dāng)前類內(nèi)聲明的一個或多個以@Bean注解標(biāo)記的方法的實例納入到spring容器中,并且實例名就是方法名
@SpringBootApplication注解封裝了核心的@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan三個類, 大大節(jié)省了程序員配置時間,這就是SpringBoot的核心設(shè)計思想
常用的springboot注解
@SpringBootApplication: SpringBoot的非常重要的注解,用于實現(xiàn)Bean的默認(rèn)掃描、自動裝備
@SpringBootConfiguration: 標(biāo)志當(dāng)前的類是配置類
@EnableAutoConfiguration: 開啟自動裝備,順便將自動裝配的原理說說
@ComponentScan: 自定義包掃描的路徑
@MapperScan: SpringBoot內(nèi)置的Mybatis的Mapper文件掃描配置注解
SpringBoot2 從基礎(chǔ)到項目實戰(zhàn)教程【全集】
為什么要開發(fā)SpringBoot?SpringBoot概述