Springboot的自动配置
Springboot 的自动配置
@SpringbootApplication :
@SpringbootConfiguration@Configuration
@ComponentScan@EnableAutoConfiguration@Import(AutoConfigurationImportSelector.class)
关键点是
AutoConfigurationImportSelector,它通过SpringFactories机制加载配置文件,有个方法的作用就是去扫描了META-INF/spring.factories文件,扫描出所有key是EnableAutoConfiguration或者AutoConfiguration的value值,然后再通过@Conditional注解过滤掉不必要的自动配置类,这个@Conditional注解就相当于if,只有满足特定条件时候才会注册bean
ApplicationContext
就是IoC 容器
Springboot 启动流程
创建IoC容器
加载源配置类
通常是
main方法所在的类,而且会被注解@SpringbootApplication所修饰加载并处理所有的配置类
Springboot会自动找到所有的配置类,然后加载和处理它们找出源配置类,根据原配置类进行递归处理,其实这个时候就是区递归扫描
@Component注解和@Import注解@ComponentScan注解就是对指定的package进行扫描,如果没有指定package,默认扫描当前main所在的包;@Import注解它有三种导入包的方式,分别是导入普通类,导入一个选择器ImportSelector,导入一个注册器,如果导入普通类,那么就必须指定某个package和某个类的class对象非常麻烦,如果导入注册器,注册器其实是对@Bean方法的一个补充,所以这里选的是导入一个选择器实例化所有的单例
Bean依赖注入和自动装配属于其中的环节
启动
web服务器
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.

