當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring boot容器导入组件
生活随笔
收集整理的這篇文章主要介紹了
Spring boot容器导入组件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
@Import
向容器中,導入組件
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import({EnableAutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration {EnableAutoConfigurationImportSelector.class
點擊,進入
自動配置導包選擇器
AutoConfigurationImportSelector
點擊,進入
public String[] selectImports(AnnotationMetadata annotationMetadata) {if(!this.isEnabled(annotationMetadata)) {return NO_IMPORTS;} else {try {AutoConfigurationMetadata autoConfigurationMetadata = AutoConfigurationMetadataLoader.loadMetadata(this.beanClassLoader);AnnotationAttributes attributes = this.getAttributes(annotationMetadata);List<String> configurations = this.getCandidateConfigurations(annotationMetadata, attributes);configurations = this.removeDuplicates(configurations);configurations = this.sort(configurations, autoConfigurationMetadata);Set<String> exclusions = this.getExclusions(annotationMetadata, attributes);this.checkExcludedClasses(configurations, exclusions);configurations.removeAll(exclusions);configurations = this.filter(configurations, autoConfigurationMetadata);this.fireAutoConfigurationImportEvents(configurations, exclusions);return (String[])configurations.toArray(new String[configurations.size()]);} catch (IOException var6) {throw new IllegalStateException(var6);}} }selectImports
方法,將所有需要導入的組件,以全類名的方式返回
這些組件就會被添加到容器中
Configurations
容器,需要導入的組件
給容器中導入非常多的自動配置類xxxAutoConfiguration
就是,給容器中導入這個場景需要的所有組件,并配置好這些組件
有了自動配置類,免去了我們手動編寫配置注入功能組件等的工作
配置文件位置
文件內容
Spring Boot
在啟動的時候,從類路徑下的META-INF/spring.factories中
獲取EnableAutoConfiguration指定的值,將這些值作為自動配置類導入到容器中
自動配置類就生效,幫我們進行自動配置工作
J2EE的整體整合解決方案和自動配置都在
spring-boot-autoconfigure-1.5.9.RELEASE.jar
總結
以上是生活随笔為你收集整理的Spring boot容器导入组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot程序入口
- 下一篇: Spring boot配置类