Spring Boot 自动装配机制的原理

自动装配简单来说就是自动去把第三方组件的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的注入




本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java