自动装配是什么?
自动装配
简单来说就是自动去把第三方组件的Bean装载到IOC容器里面,不需要开发人员在去写Bean相关的一个配置。
SpringBoot如何实现自动装配
在SpringBoot应用里面只需要在启动类上加上去加上@SpringBootApplication
注解,就可以实现自动装配,@SpringBootApplication
注解是一个复合注解,真正去实现自动装配的注解是@EnableAutoConfiguration
自动装配的实现三个核心的关键技术
- 引入starter,启动依赖组件的时候,组件里面必须包含一个
@Confinguration
配置类,在这个配置类里面,我们需要通过@Bean
这个注解去声明需要装配到IOC容器里面的Bean对象。
- 这个配置类是放在第三方jar包里面,然后通过SpringBoot种约定优于配置,去把这个配置类的全路径,放在
classpath:/META-NF/spring·factories
文件里面,SpriingBoot就可以知道第三方jar包里面这个配置类的位置,这个步骤主要是用到了Spring里面的SpringFactoriesloader
来完成的
- SpringBoot拿到所有第三方jar包里面声明的配置类以后,再通过Spring提供
ImportSelector
这样一个接口,来实现对这些配置类的动态加载,从而完成自动装配
SpringBoot是约定优于配置这一理念下的一个产物,所以在很多地方都会看到这一类的思想,它的出现让开发人员可以更加的聚焦在业务代码的编写上,而不需要关心和业务无关的配置,自动装配的思想在SpringFramework3.X
版本里面的@Eable
注解就已经有了实现的一个雏形,@Eable
注解是一个模块驱动的意思
只需要增加@Eable
注解就能打开某个功能,而不需要针对这个功能去做Bean的配置,@Eable
注解的底层也是去帮我们自动去完成这样一个模块相关Bean的注入