
自动配置首先从注解说起。@SpringBootApplication由三个注解组成:@CompanentScan, @EnableAutoConfiguration,@SpringBootConfiguration(其实就是@Configuration注解) ,
其中@EnableAutoConfiguration 通过@Import注解 将AutoConfigurationImportSelector .class这个类引进来。该类会去加载所有jar包的META-INFO下面的spring-factories配置文件,这里其实用到了spring里面的spi机制,如果对spi机制不懂的可以去百度学习一下。
这个文件是个key-value的形式,key是EnableAutoConfiguration的全路径名,value是各个需要自动配置的类。然后springboot默认在这个配置文件中定义了大约100多个常用的配置类,然后再根据Condition按需加载我们需要的配置类,比如在配置文件中增加了对应的配置,对应的配置类就会生效。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171541.html原文链接:https://javaforall.cn