SpringBoot——啟動方式及過程分析
阿新 • • 發佈:2019-01-26
前篇文章簡單的建立了一個Spring Boot的專案,瞭解到它可以以jar包的形式來執行,也可以通過main方法啟動。Spring Boot有很多優點,使編碼、配置、部署和監控等都變得簡單。但是還是不知道它啟動的原理。接下來具體分析一下。
SpringBoot的三種啟動方式
1、IDE執行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