starter 的 web依赖:

    1. <!--SpringBoot的web依赖-->
    2. <dependencies>
    3. <dependency>
    4. <groupId>org.springframework.boot</groupId>
    5. <artifactId>spring-boot-starter-web</artifactId>
    6. </dependency>
    7. </dependencies>
    • 自动配好Tomcat
      • 引入Tomcat依赖。
      • 配置Tomcat ```xml org.springframework.boot spring-boot-starter-tomcat 2.3.4.RELEASE compile
    
    - 自动配好SpringMVC
       - 引入SpringMVC全套组件
       - 自动配好SpringMVC常用组件(功能)
    
    - 自动配好Web常见功能,如:字符编码问题
       - SpringBoot帮我们配置好了所有web开发的常见场景。
    ```java
    public static void main(String[] args) {
        //1、返回我们IOC容器
        ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
    
        //2、查看容器里面的组件
        String[] names = run.getBeanDefinitionNames();
        for (String name : names) {
            System.out.println(name);
        }
    }
    
    • 默认的包结构
      • 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来。
      • 无需以前的包扫描配置。
      • 想要改变扫描路径:

    1、主程序注解指定扫描包:@SpringBootApplication(scanBasePackages=“com.lun”)
    2、@ComponentScan 指定扫描路径。
    注意: @SpringBootApplication 包含 @ComponentScan 两个不能一起使用
    但是:可以把@SpringBootApplication 注解下的 是三个注解放到启动类上。

    @SpringBootApplication
    等同于
    @SpringBootConfiguration
    @EnableAutoConfiguration
    @ComponentScan("com.lun")////指定扫描路径。
    
    • 各种配置拥有默认值

      • 默认配置最终都是映射到某个类上,如:MultipartProperties类。
      • 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象。
    • 按需加载所有自动配置项

      • 非常多的starter。
      • 引入了哪些场景这个场景的自动配置才会开启。
      • SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面。

    [

    ](https://blog.csdn.net/u011863024/article/details/113667634)