SpringBoot之自动装配原理
SpringBoot之自动装配原理
一:自动装配之pom.xml
在springBoot项目中有一个<parent>的标签,其中的项目名为spring-boot-starter-parent,所有的版本依赖都是来源于这里的。
我们在需要引入springboot-stater-xxx时不需要引入版本就是在父项目中已经把版本都管理好了。
二:自动装配之stater
启动器:

如果我们要使用什么功能,只需要找到对应的stater即可。
三:自动装配之主程序
1、注解 @SpringbootApplication的作用
①标志这个类是一个springboot的应用
②点开@SpringbootApplication这个注解我们会发现

@SpringBootConfiguration
@Configuration
@Component -->本质上还是一个spring的组件。
@EnableAutoConfuguration -->启用自动配置
@AutoConfigurationPackage -->自动配置包
@Import({Registrar.class}) -->导入注册器
@Import({AutoConfigurationImportSelector.class}) -->自动配置导入选择器
这个META-INF/spring.factories是自动装配的核心文件

结论:SpringBoot所有的配置都是在启动的时候扫描并加载的,它会去循环出META-INF/spring.factories下的所有配置类,
然后封装成properties供我们使用,这样的话自动装配就算完成了,但是并不是所有的配置类都可以生效,需要有
一个前提,那就是你必须要有相应的stater,那么与之对应的配置类才会生效,那么才算配置成功。
四:自动装配之run方法
SpringApplication.run主要做了如下事情:
①推断应用的类型是普通的项目还是Web项目
②查找并加载所有可能初始化器,设置到initializers属性中
③找出所有的应用程序监听器,设置到listeners属性中
④推断并设置main方法的定义类,找到运行的主类

浙公网安备 33010602011771号