SpringBoot中自动装配机制的原理
1**.自动装配,简单来说就是自动把第三方组件的Bean装载到Spring IOC容器里面**,不需要开发人员再去写Bean的装配配置,
2.在Spring Boot应用里面,只需要在启动类加上**@SpringBootApplication**注解就可以实现自动装配。
3.@SpringBootApplication是一个复合注解,真正实现自动装配的注解是@EnableAutoConfigureation
4.自动装配的实现主要依靠三个核心关键技术
① 引入Starter启动依赖组件的时候,这个组件里面必须要包含**@Configuration配置类,在这个配置类里面通过@Bean注解声明需要装配到IOC容器的Bean对象。**
② 这个配置类是放在第三方的jar包里面,然后通过SpringBoot中的约定由于配置思想,把这个配置类的全路径放在classpath:/META-INF/spring.factories文件中,这样SpringBoot就可以知道第三方jar包里面的配置类的位置,这个步骤主要是用到了Spring里面的SpringFactoriesLoader来完成的。
③ SpringBoot拿到所第三方jar包里面声明的配置类以后,再通过Spring提供的ImportSelector接口,实现对这些配置类的动态加载
在我看来,SpringBoot是约定优于配置这一理念下的产物,所以在很多的地方,都会看到这类的思想,它的出现,让开发人员更加聚焦在业务代码的编写上,而不需要去关心和业务无关的配置。