什麼是Spring Boot
在附上我自己對這個問題的理解之前,我們先看一下Spring官方對此的解釋(源自https://spring.io/projects/spring-boot):
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
翻譯成中文,並結合我個人對此的理解就是:
Spring Boot並不是對Spring另立家門的改造,而是與之一脈相承的拓展,Spring Boot的出現是爲了更快、更簡便地搭建基於Spring的工程。Spring Boot提供了一系列機制,來儘可能地簡化、甚至不需要用戶去配置Spring相關的配置文件。
Spring Boot是一個橋樑,連接傳統的使用Spring配置文件進行開發的方式和基於Spring Boot少配置、甚至不配置Spring配置文件的開發方式。
爲什麼要使用Spring Boot
上文中已經提到,Spring Boot的優勢在於:
1. 儘可能地少配置、甚至無需配置Spring配置文件,將這些工作交由Spring Boot去做;
2. 將常用的組件,內置到Spring Boot內部,比如tomcat、jetty等,無需使用者另行依賴。
Spring Boot的侷限性
所謂“有一利就有一弊",Spring Boot在提供了便利的同時,必然也會使得其配置過程封裝在其內核中,如果使用者對Spring Boot的內部實現機制不夠深入理解的話,有可能會導致Spring Boot的配置效果與使用者預期不一致。
因此,瞭解Spring Boot內部的一些主要模塊的實現機制,勢在必行。