1. 程式人生 > >SpringBoot——啟動方式及過程分析

SpringBoot——啟動方式及過程分析

前篇文章簡單的建立了一個Spring Boot的專案,瞭解到它可以以jar包的形式來執行,也可以通過main方法啟動。Spring Boot有很多優點,使編碼、配置、部署和監控等都變得簡單。但是還是不知道它啟動的原理。接下來具體分析一下。

SpringBoot的三種啟動方式

1IDE執行Application這個類的main方法

因為這是整個專案的入口類,它是一個artifactId+Application的入口類。@SpringBootApplication註解是整個SpringBoot的核心註解,它的目的就是開啟Spring Boot的自動配置。這個註解的原始碼:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
	excludeFilters={@Filter(
	type=FilterType.CUSTOM,
	classes={TypeExcludeFilter.class}
),@Filter(
	type=FilterType.CUSTOM,
	classes={AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {

}

          我們可以看到它組合了@SpringBootConfiguration、@EnableAutoConfiguration以及@ComponentScan,我們在開發的過程中如果不使用@SpringBootApplication,則可以組合使用這三個註解。這三個註解中,@SpringBootConfiguration實際上就是我們前面幾篇部落格提到的@Configuration註解,表明這個類是一個配置類,@EnableAutoConfiguration則表示讓SpringBoot根據類路徑中的jar包依賴為當前專案進行自動配置,最後一個@ComponentScan的作用我也不贅述了,唯一要注意的是如果我們使用了@SpringBootApplication註解的話,系統會去入口類的同級包以及下級包中去掃描實體類,因此我們建議入口類的位置在groupId+arctifactID組合的包名下。

2、在SpringBoot的應用根目錄下執行 mvn spring-boot:run

這種方法是直接maven打包執行專案

3、使用mvn install生成jar後執行 

           先到專案目錄下,進入target目錄

   命令

mvn install
cd target
jave -jar  xxx.jar

Spring Boot的啟動過程