目录
springboot自动装配详细原理
自动装配主要依靠三个核心的关键技术:
引入starter
查找第三方配置类
动态加载
个人理解,还有不足的地方需要学习,写这篇帖子目的是为了记录自己的理解
springboot自动装配简单来说是springboot自动的装载第三方组件的Bean 到IOC容器里面,不需要开发人员再去写Bean的配置。
springboot自动装配详细原理
springboot启动类执行run方法,传入启动类.class参数,在SpringApplication.run执行一系列初始化后通过启动类的.class文件找到上面的注解,其中最重要的是@SpringBootApplication注解
@SpringBootApplication注解是一个复合注解,@ComponentScan注解是扫描springboot启动类当前所有包下的,其中自动装配最重要的是@EnableAutoConfiguration注解 ,它可以扫描到@Configuration注解
自动装配主要依靠三个核心的关键技术:
引入starter
启动依赖组件的时候,组件必须包含@Configuration配置类,配置类需要@Bean这个注解去声明需要装配到IOC容器的Bean对象
查找第三方配置类
配置类放到第三方jar包,springboot通过约定大于配置,去把这个配置类的全路径放在classpath:/META-INF/spring.factories文件里面,这样可以知道第三方的配置类的位置,上面步骤通过SpringFactoriesLoader去完成查找第三方jar包的位置。
动态加载
springboot获取第三方jar声明的配置类以后,通过ImportSelector这样一个接口,实现对配置类的动态加载,完成自动装配的动作。