当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
Spring boot容器导入组件
生活随笔
收集整理的这篇文章主要介绍了
Spring boot容器导入组件
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
@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配置类