動力節(jié)點王鶴SpringBoot3第三章自動配置_第1頁
動力節(jié)點王鶴SpringBoot3第三章自動配置_第2頁
動力節(jié)點王鶴SpringBoot3第三章自動配置_第3頁
全文預(yù)覽已結(jié)束

動力節(jié)點王鶴SpringBoot3第三章自動配置.docx 免費下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

SpringBoot3第三章3自動配置啟用autoconfigure(自動配置),框架嘗試猜測和Bean要使用的Bean,從類路徑中查找xxx.jar,創(chuàng)建這個jar中某些需要的Bean。例如我們使用MyBatis訪問數(shù)據(jù),從我們項目的類路徑中尋找mybatis.jar,進一步創(chuàng)建SqlSessionFactory,還需要DataSource數(shù)據(jù)源對象,嘗試連接數(shù)據(jù)。這些工作交給XXXAutoConfiguration類,這些就是自動配置類。在spring-boot-autoconfigure-3.0.2.jar定義了很多的XXXAutoConfiguration類。第三方框架的starter里面包含了自己XXXAutoConfiguration第三方框架MyBatis,mybatis-spring-boot-starter的MyBatisAutoConfiguration自動配置類自動配置的注解@EnableAutoConfiguration(通常由@SpringBootApplication注解帶入)所在的包,具有特殊的含義,是SpringBoot中的默認包,默認包是掃描包的起點(根包)。@Controller,@Service,@Repository,@Component,@Configuration放在根包以及子包中就會被掃描到。3.1@Import@EnableAutoConfiguration源碼上面的@Import(AutoConfigurationImportSelector.class)@AutoConfigurationPackage@Import(AutoConfigurationImportSelector.class)public@interfaceEnableAutoConfiguration{....}@Import:導(dǎo)入類,注冊為Bean。@Import相當于xml文件中的<import>??梢詫?dǎo)入@Configuration的類,實現(xiàn)了ImportSelector接口的類,ImportBeanDefinitionRegistrar接口的類。ImportSelector接口在SpringBoot使用的比較多publicinterfaceImportSelector{//AnnotationMetadata被@Import注釋的類注解信息//導(dǎo)入配置類全限定名稱String[]selectImports(AnnotationMetadataimportingClassMetadata);...}3.2AutoConfigurationImportSelectorAutoConfigurationImportSelector間接實現(xiàn)了ImportSelector接口,導(dǎo)入自動配置類自動配置從jar的指定文件讀取要加載的配置類列表位置:META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.importsSpringBoot之前的版本(2.7)讀取spring.factories文件。保留spring.factories為了向后兼容.3.3@AutoConfiguration注解新的注解@AutoConfiguration,用在自動配置類的上面。相當于增強的@Configuration,專注自動配置類。@AutoConfiguration還支持通過after、afterNames、before和benameames屬性進行自動配置排序,決定多個自動配置類執(zhí)行先后順序。@AutoConfiguration(after=DataSourceAutoConfiguration.class,before=TransactionAutoConfiguration.class)@ConditionalOnClass({LocalContainerEntityManagerFactoryBean.class,EntityManager.class,SessionImplementor.class})@EnableConfigurationProperties(JpaPropert

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論