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方法流程分析

在這里插入圖片描述
