做零售去哪个外贸网站,wordpress产品筛选,网站结构的规划,常州公司网站建设Spring Boot的自动配置原理可以概括为#xff1a;通过读取jar包中的配置信息#xff0c;并根据项目依赖和条件注解自动配置应用程序所需的bean#xff0c;从而减少手动配置的工作量。
第一、代码入口
SpringBootApplication
#x1f447;
EnableAutoConfiguration
#…Spring Boot的自动配置原理可以概括为通过读取jar包中的配置信息并根据项目依赖和条件注解自动配置应用程序所需的bean从而减少手动配置的工作量。
第一、代码入口
SpringBootApplicationEnableAutoConfigurationImport(AutoConfigurationImportSelector.class)
public interface EnableAutoConfiguration {
//这里面Import引入了AutoConfigurationImportSelector第二、自动配置类路径 AutoConfigurationImportSelector会加载META-INF/spring.factories文件这个文件里面配置了大量的自动配置类。 不过呢SpringBoot3.x以后自动配置类就不放在spring.factories中了 而是放在下面这个文件下
org.springframework.boot.autoconfigure.AutoConfiguration.imports第三、配置类生效条件 那是不是不管三七二十一都给它创建出来呢当然不是
自动配置类通常包含Conditional注解来指定在什么条件下应该自动配置。 ConditionalOnClass 意思是当某个类在类路径上时就生效也就是当然加了redis的相关依赖包后就会自动配置这个里面的Bean内容。
第四、源码跟踪
SpringApplication.runSpringApplication.createApplicationContextSpringApplication.loadSpringFactoriesLoader.loadFactoryNamesAutoConfigurationImportSelector.selectImports在AutoConfigurationImportSelector内部 在selectImports方法内部AutoConfigurationImportSelector会加载spring.factories文件并基于条件注解如ConditionalOnClass、ConditionalOnProperty等来过滤和选择需要自动配置的类。