目录
1、什么是SpringBoot的自动装配和自动配置?
自动配置:Auto-Configuration,针对的是SpringBoot中的配置类
自动装配:Autowire,针对的是Spring中的依赖注入
2、springboot实现自动配置redis案例:
如图,全程我们只通过maven引入redis的starter依赖,然后配置一下redis服务器的连接信息,最后我们就可以直接使用redisTemplate等Bean对象了。这就是SpringBoot自动完成了redis的配置,将相关的Bean对象注册到IOC容器中了。
3、springboot的启动流程:
4、springboot加载并处理所有的配置类的流程:
5、springboot加载配置类的方式:
6、springboot自动配置原理:
位于META_INF目录下的spring.factories,存放相关组件的配置工厂类;@EnableAutoConfiguration核心配置注解,里面有一个AutoConfigurationImportSelector(自动配置文件收集器),收集配置文件中的配置工厂类,然后SpringFactoriesLoader加载组件工厂(抽象工厂模式),进行实例化,在spring上下文中,生成bean。
@EnableAutoConfiguration核心配置注解,里面有一个AutoConfigurationImportSelector(自动配置文件收集器),收集配置文件中的配置工厂类,然后通过springfactories机制加载配置文件,然后在所有的配置文件META_INF/spring.factories中,筛选出以EnableAutoConfiguration.class为key的、符合条件的配置类,最后根据注解@Conditional过滤掉不必要的自动配置类。