史上最全SpringBoot教程,從零開始帶你深入♂學習(二)

Springboot(二)——自動裝原理

pom.xml

  • spring-boot-dependencies 核心依賴在父工程中,SpringBoot的版本控制中心!
  • 我們引入一些Springboot依賴的時候,不需要指定版本,因為Springboot有他的版本倉庫,統(tǒng)一管理版本

springboot啟動器

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

白嫖資料
比如:

  • spring-boot-starter-web:他就會幫我們自動導入web環(huán)境所有的依賴
  • springboot會將所有的功能場景都變成一個個啟動器
  • 我們要使用什么功能,只需要找到對應的啟動器就可以了

主程序

@SpringBootApplication //標注這個類是一個springboot的應用
public class Springboot01HelloWorldApplication {

    public static void main(String[] args) {
        //將springboot應用啟動
        SpringApplication.run(Springboot01HelloWorldApplication.class, args);
    }
}

@SpringBootApplication:它是一個組合注解

一、@SpringBootConfiguration

@SpringBootConfiguration:springboot的配置
作用:標注在某個類上說明這個類是SpringBoot的主配置類 , SpringBoot就應該運行這個類的main方法來啟動SpringBoot應用;

@Configuration:springboot配置類

@Component:說明這也是一個springboot的組件,所以@SpringBootConfiguration本質還是一個組件

二、@EnableAutoConfiguration

@EnableAutoConfiguration:自動配置
作用:SpringBoot的配置類 ,標注在某個類上 , 表示這是一個SpringBoot的配置類;

@AutoConfigurationPackage:自動配置包

@Import(AutoConfigurationPackages.Registrar.class):導入選擇器(自動配置)

@Import(AutoConfigurationImportSelector.class):自動配置導入選擇

三、@ComponentScan

@ComponentScan() :這個注解在Spring中很重要 ,它對應XML配置中的元素。
作用:自動掃描并加載符合條件的組件或者bean , 將這個bean定義加載到IOC容器中

四、@ConfigurationPropertiesScan

@ConfigurationPropertiesScan :配置掃描

未完!

主啟動類怎么運行

public static void main(String[] args) {
    //將springboot應用啟動
    //SpringApplication類
    //run方法
    //該方法返回一個ConfigurableApplicatonContext對象
    //參數(shù)一:應用入口類  參數(shù)二:命令行參數(shù)
    SpringApplication.run(Springboot01HelloWorldApplication.class, args);
}

白嫖資料
該方法分為兩部分:第一部分是SpringApplication的實例化,二是run方法的執(zhí)行

SpringApplication

這個類主要做的四件事

  • 1、推斷應用的類型是普通的項目還是Web項目
  • 2、查找并加載所有可用初始化器 , 設置到initializers屬性中
  • 3、找出所有的應用程序監(jiān)聽器,設置到listeners屬性中
  • 4、推斷并設置main方法的定義類,找到運行的主類

run方法流程分析

在這里插入圖片描述

最后,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。 可以的話請給我一個三連支持一下我喲,我們下期再見

白嫖資料

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容