一、SpringBoot
1、自动装配的原理
主配置类启动,通过@SpringBootApplication中的@EnableAutoConfguration加载所需的 所有自动装配类,然后自动配置类 生效 并给容器添加各种组件。
通过@EnableAutoConfguration中的AutoConfigurationImportSelector选择器中的SpringFactoriesLoador.loadFactoryNames()方法,获取类路径下的META-INF/spring.factories中的资源并经过一些列判断之后作为自动配置类 生效到容器中,自动配置类生效后进行自动配置工作,在容器中添加各种组件。
组件属性从对应的Properties类中获取,而Properties类的属性是通过@ConfigurationProperties 和 配置文件绑定的(配置的属性都来源于Properties类)
SpringBoot在自动配置组件时,先判断容器中有没有用户自己的配置(@Bean,@Component)没有再自动配置。