更新時間:2020年09月18日15時18分 來源:傳智播客 瀏覽次數(shù):
相較于傳統(tǒng)的Spring框架,Spring Boot框架具有以下優(yōu)點。
Spring Boot主要是通過注解和自動化配置的方式推出的全新框架,旨在快速、敏捷的開發(fā)新一代基于Spring框架的應(yīng)用程序。在構(gòu)建Spring Boot項目時,只要根據(jù)需求選擇對應(yīng)的場景依賴,Spring Boot會自動添加該場景所需要的全部依賴并提供自動化配置,在無需額外手動添加配置的情況下可以快速構(gòu)建出一個獨立的Spring應(yīng)用程序。
Spring Boot項目不需要像傳統(tǒng)的Spring應(yīng)用一樣打成WAR包的形式部署到Tomcat、Jetty或Undertow服務(wù)器中,運行一個Spring Boot項目,可以直接將項目打成JAR包的形式,并通過命令“java -jar xx.jar”運行。這是因為,Spring Boot項目內(nèi)嵌了Tomcat、Jetty和Undertow服務(wù)器,因此在部署過程中減少了對第三方插件的依賴和管理。
在Spring Boot項目構(gòu)建過程中,無需準備各種獨立的JAR文件,只需在構(gòu)建項目時根據(jù)開發(fā)場景需求選擇對應(yīng)的依賴啟動器“starter”即可,在引入的依賴啟動器“starter”內(nèi)部已經(jīng)包含了對應(yīng)開發(fā)場景所需的依賴,并會自動下載和拉取相關(guān)JAR包。例如,在Web開發(fā)時,只需在構(gòu)建項目時選擇對應(yīng)的Web場景依賴啟動器spring-boot-starter-web,Spring Boot項目便會自動導入spring-webmvc、spring-web、spring-boot-starter-tomcat等子依賴,并自動下載和拉取Web開發(fā)需要的相關(guān)JAR包。
Spring Boot充分考慮到了與傳統(tǒng)Spring框架以及其他第三方庫融合的場景,在提供了各種場景依賴啟動器的基礎(chǔ)上,內(nèi)部還默認提供了大量的各種自動化配置類(例如RedisAutoConfiguration)。使用Spring Boot開發(fā)項目時,一旦引入了某個場景的依賴啟動器,Spring Boot內(nèi)部提供的默認自動化配置類就會生效,開發(fā)者無需再手動進行配置文件的配置(除非開發(fā)者修改了相關(guān)默認配置,例如Redis地址、密碼等),從而極大減少了開發(fā)人員的工作量,提高了程序的開發(fā)效率。
Spring Boot提供了一些用于生產(chǎn)環(huán)境運行時的特性,例如指標、健康檢查和外部化配置。其中,指標和監(jiān)控檢查可以很方便的幫助運維人員在運維期間監(jiān)控項目運行情況;外部化配置可以很方便的讓運維人員快速、方便的外部化配置和部署工作。
Spring Boot框架內(nèi)部已經(jīng)實現(xiàn)了與Spring以及其他常用第三方庫的整合連接,并提供了默認最優(yōu)化的整合配置,使用時基本上不需要額外生成配置代碼和XML配置文件。在需要自定義配置的情況下,Spring Boot更加提倡使用Java config(Java配置類)替換傳統(tǒng)的XML配置方式,這樣更加方便查看和管理。
雖然說Spring Boot有諸多的優(yōu)點,但Spring Boot也有一些缺點。例如,Spring Boot入門較為簡單,但是深入理解和學習卻有一定的難度,這是因為Spring Boot是在Spring框架的基礎(chǔ)上推出的,所以想要弄明白Spring Boot的底層運行機制,有必要先對Spring框架有一定的了解。
猜你喜歡:
手動實現(xiàn)IOC容器:SpringIOC底層實現(xiàn)原理
Spring Cloud是什么?怎么理解Spring Cloud?