springboot的自动装配机制

发布时间 2023-11-03 20:19:11作者: 眼里不温柔
  ·自动配置的Tomcat,SpringMvc等
只需要导入场景,容器中就会自动配置好这个场景的核心组件
容器中有什么组件,就具备什么样的功能

·默认的包扫描规则
@SpringBootApplication 标注的类就是主程序类
SpringBoot只会扫描主程序所在的包及其下的子包 com.jie.boot; component-scan功能
如若要扫描不在主程序所在包内,则要自定义扫描包路径:
1.@SpringBootApplication(scanBasePackages="com.jie")
或者2.@ComponentScan("com.jie") 直接扫描指定路径

·配置默认值 application.properties
配置文件的所有配置项是和某个类的对象一一绑定的
比如:ServerProperties 绑定了Tomcat服务器有关的配置
MultipartProperties 绑定了文件上传相关的配置

·按需加载自动配置
比如:导入spring-boot-starter-web除了导入了相关依赖功能,还导入了spring-boot-starter,是基础核心starter,
在spring-boot-starter中导入了spring-boot-autoConfigure,里面是各种场景的AutoConfiguration(自动配置类),
虽然全场景的自动配置都在spring-boot-autoConfigure包内,但不全是开启的,导入了哪个场景依赖,就开启哪个自动配置。
总结:导入场景启动器,就会触发spring-boot-autoConfigure自动配置生效,容器中就会有相关的场景功能