Spring Boot基礎知識學習(三)-自動配置以及場景啓動器

spring boot相對於spring來說簡化了很多配置(這些配置由spring boot自動完成,而不用手動完成),本文主要講的是有關spring boot的自動配置問題。

首先新建一個簡單的spring boot項目。
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

(1)主程序(主入口類)

package com.example.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloworldApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloworldApplication.class, args);
    }

}

上面這個類即是我們創建的spring boot項目的啓動類(自動生成)。這裏面有一個註解@SpringBootApplication,該註解就是用來說明spring boot程序的啓動類的,當啓動spring boot項目時便會啓動該啓動類的主方法。這個註解還包含另外兩個註解@SpringBootConfiguration@EnableAutoConfiguration

  • @SpringBootConfiguration 標記spring boot的配置類
  • @EnableAutoConfiguration 開啓自動配置功能,只有該註解啓用後,spring boot的自動配置功能才能實現。@EnableAutoConfiguration又包含@AutoConfigurationPackage和@Import(AutoConfigurationPackages.Registrar.class)註解
    @AutoConfigurationPackage 自動配置包,通過Spring的底層註解@Import,給容器中導入一個組件AutoConfigurationPackages.Registrar.class;
    將主配置類(@SpringBootApplication標註的類)的所在包及下面所有子包裏面的所有組件掃描到Spring容器;
    @Import(AutoConfigurationPackages.Registrar.class)給容器中導入組件(將所有需要導入的組件以全類名的方式返回)

(2)場景啓動器
在pom.xml文件中引入了以下依賴

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

spring-boot-starter,spring-boot場景啓動器,幫我們導入了web模塊正常運行所依賴的組件。
spring boot將所有的功能場景都抽取出來,做成一個個的starters(啓動器),只需要在項目裏面引入這些starter相關場景的所有依賴都會導入進來。要用什麼功能就導入什麼場景的啓動器。
有關具體的場景啓動器可參見官方文檔spring-boot-starter

在這裏插入圖片描述
2020.03.30

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章