SpringBoot自动装配过程
2021-03-07 19:56:19 18 举报
登录查看完整内容
SpringBoot自动装配过程
作者其他创作
大纲/内容
@Import({AutoConfigurationImportSelector.class})给容器中导入一个组件
点击查看 loadSpringFactories 方法
启动类本身也是Spring中的一个组件而已,负责启动应用
说明这是一个配置类 ,配置类就是对应Spring的xml 配置文件
@Configuration
AutoConfigurationImportSelector :自动配置导入选择器
@SpringBootApplication
@EnableAutoConfiguration开启自动配置功能
告诉SpringBoot开启自动配置功能,这样自动配置才能生效
Registrar.class 作用:将主启动类的所在包及包下面所有子包里面的所有组件扫描到Spring容器
发现一个多次出现的文件:spring.factories,全局搜索它
这个方法又调用了 SpringFactoriesLoader 类的静态方法
AutoConfigurationImportSelector类
@SpringBootConfiguration
@ComponentScan
SpringFactoriesLoader类
@Component
@Import({Registrar.class})给容器中导入一个组件
@AutoConfigurationPackage自动配置包
我们根据源头打开spring.factories , 看到了很多自动配置的文件;这就是自动配置根源所在。随便找一个打开看看,比如 :WebMvcAutoConfiguration:可以看到这些一个个的都是JavaConfig配置类,而且都注入了一些Bean。所以,自动配置真正实现是从classpath中搜寻所有的META-INF/spring.factories配置文件 ,并将其中对应的 org.springframework.boot.autoconfigure. 包下的配置项,通过反射实例化为对应标注了 @Configuration的JavaConfig形式的IOC容器配置类 , 然后将这些都汇总成为一个实例并加载到IOC容器中。
收藏
收藏
0 条评论
回复 删除
下一页