1.当导入某个场景,比如web场景,就会自动导入web相关的所有依赖
tomcat也导入了,那就说明tomcat是内嵌到springboot中了
- 自动配好SpringMVC
- 引入SpringMVC全套组件
- 自动配好SpringMVC常用组件(功能)
- 自动配好Web常见功能,如:字符编码问题
- SpringBoot帮我们配置好了所有web开发的常见场景
- 默认的包结构
- 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来,如果不是中main包下的资源是无法被扫描的
- 无需以前的包扫描配置
- 想要改变扫描路径,@SpringBootApplication(scanBasePackages="dss")
- 或者@ComponentScan 指定扫描路径 要使用@ComponentScan 就需要单独的配置注解。
@SpringBootApplication 等同于 @SpringBootConfiguration springboot的配置文件 @EnableAutoConfiguration 开始自动配置 @ComponentScan("dss")开启包扫描
- 各种配置拥有默认值
- 默认配置最终都是映射到某个类上,如:MultipartProperties,比如默认的上传的文件大小,手动更改只需要在配置文件中进行更改
- 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象
- 按需加载所有自动配置项,
- SpringBoot中有非常多的starter,是按需加载的
- 引入了哪些场景这个场景的自动配置才会开启
- SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面 比如什么aop cache 的自动配置,但是看里面有这么多的配置依赖,也不是全部加载了,比如batchautoconfiguration中爆红的就是因为没有手动引入batch的依赖,所以这个就不加载