Home >> Blog >> 什麼是 Spring Boot?
什麼是 Spring Boot?
Spring Boot 是由一家名為 Pivotal 的公司維護的開源微框架。它為 Java 開發人員提供了一個開始使用可自動配置的生產級 Spring 應用程式的平台。有了它,開發人員可以快速上手,而不會浪費時間準備和配置他們的 Spring 應用程式。
這篇文章將引導您了解 Spring Boot 是什麼以及它的用途。
但在深入研究之前,我們將簡要討論其基礎工具:Spring。為什麼?了解 Spring 對於形成有關 Spring Boot 的建設性意見至關重要。
Spring 和 Spring Boot 有什麼區別?
正如在本文開頭所說,了解 Spring 和 Spring Boot 之間的區別對於決定是否使用這個框架至關重要。因此,我們應該弄清楚兩者之間的區別。
首先,讓我們談談它們是如何協同工作的。
Spring Boot 構建在 Spring 框架之上,它帶有許多可以插入 Spring 應用程式的依賴項。一些示例是 Spring Kafka、Spring LDAP、Spring Web Services 和 Spring Security。但是,開發人員必須使用大量 XML 配置文件或註釋自己配置每個blocks。
現在,它們有何不同?
Spring 框架專注於通過其依賴注入特性提供靈活性。它有助於快速注入所需的依賴項,也有助於以鬆散耦合的方式開發應用程式。其他一些好處包括:
- 一個輕量級的框架。
- 有助於鬆散耦合依賴和可測試性。模塊化架構允許您選擇您需要的部分並將它們隔離。
- 支持 XML 和註釋配置。
- 提供對 ORM 軟件的抽像以開發 ORM 持久性邏輯。
- 與許多中間件服務兼容。
- 支持 JDBC 框架,提高生產力並減少錯誤。
另一方面,Spring Boot 專注於縮短程式碼長度並為您提供運行 Spring 應用程式的簡單方法。
你需要先學習Spring嗎?
如果您想知道是否需要先學習 Spring,簡短的回答是否定的。
隨著 Spring Boot 的開發,Spring 框架變得更加用戶友好。除非您有特定的理由這樣做,否則真的沒有理由使用舊框架。
堅持學習如何使用 Spring Boot 配置庫也很有意義,因為它仍然是一個集成框架。這很容易做到,但有時這些配置庫庫需要一些配置。
Spring Boot 的顯著特點
- 自動配置:開發人員可以自動配置他們的 Spring 應用程式。但是,Spring Boot 也能夠根據您列出的依賴項更改配置。例如,當您將“MySQL”列為依賴項時,它將使用包含的“MySQL 連接器”配置您的 Spring 應用程式。如果您想添加自定義配置,您可以創建一個覆蓋“MySQL 連接器”的默認配置的類。
- 獨立:無需將您的應用程式部署到 Web 服務器。您只需輸入運行命令即可啟動應用程式。
- 觀點:在官方頁面上,我們發現 Spring Boot 會為您決定使用哪個默認值進行配置。此外,它還決定為您需要的依賴項安裝哪些軟件包。例如,如果您為“JPA”包含 Spring Boot 啟動器“pom”,它將自動配置一個內存資料庫、一個休眠實體管理器和一個簡單的數據源。這是您可以覆蓋的自以為是的默認配置的示例。雖然有些開發人員可能覺得這太固執己見,但 Spring Boot 固執己見的設置有助於開發人員快速開始他們的項目。
為什麼 Spring Boot 如此受歡迎?
首先,它使用了Java,這是世界上最流行的程式語言之一。除此之外,Spring Boot 是一個了不起的工具,它可以幫助您快速啟動和運行企業級應用程式,而無需擔心正確和安全地配置您的應用程式。
此外,用戶社群非常龐大。如果你想要免費的學習材料和課程,你會發現很多。教育的可及性對該框架的受歡迎程度產生了很大影響。
一些額外的好處包括:
- 減少開發時間並提高開發團隊的整體生產力。
- 幫助您為生產級 Spring 應用程式自動配置所有組件。
- 通過為單元和集成測試提供默認設置,使SEO開發人員更容易創建和測試基於 Java 的應用程式。
- 避免編寫大量樣板程式碼、註釋和 XML 配置。
- 附帶嵌入式 HTTP 服務器,如Tomcat 或 Jetty,用於測試 Web 應用程式。
- 添加了許多插件,開發人員可以使用這些插件輕鬆地處理嵌入式和內存資料庫。Spring 允許您輕鬆連接資料庫和隊列服務,如 Oracle、PostgreSQL、MySQL、MongoDB、Redis、Solr、ElasticSearch、Rabbit MQ、ActiveMQ等等。
- 允許管理員支持——這意味著您可以通過遠端訪問應用程式進行管理。
Spring Boot 框架的缺點
許多開發人員在使用 Spring Boot 時遇到的主要困難是缺乏控制。自以為是的風格會安裝許多它假定您需要的額外依賴項目。通過安裝所有這些額外的依賴項目(有時未使用),部署二進制文件的大小可能會變得非常大。
接下來,可以直接將 Spring Boot 工件部署到Docker 容器中。這對於快速創建微服務非常有用。但是,一些開發人員認為,由於該框架的構建是敏捷和輕量級的,因此不應將其用於單體應用程式。
在此處了解有關使用 Spring Boot 的微服務的更多資訊。
最後一個缺點是:當你想升級你遺留的 Spring 程式碼時,它可能會非常困難。Spring Boot 嘗試通過提供幾種不同的工具來滿足此類用例,例如幫助您遷移遺留程式碼的 CLI 工具。
監控 Spring Boot 應用程式
儘管默認情況下 Spring Boot 帶有一些用於監視日誌和應用程式運行狀況的基本工具,但這些還不夠。Retrace等工具可幫助團隊輕鬆監控 Java 應用程式。
Retrace 可幫助您檢測慢速 SQL 查詢,為您提供有關性能和 CPU 使用情況的報告,並通過解釋日誌顯示最常發生的錯誤。
試試 Stackify 的免費程式碼分析器Prefix,在您的工作站上編寫更好的程式碼。Prefix 適用於 .NET、Java、PHP、Node.js、Ruby 和 Python。
簡而言之
Spring Boot 框架的主要目標是通過對單元和集成測試進行默認設置來減少整體開發時間並提高效率。如果您想快速開始使用 Java 應用程式,您可以輕鬆地接受所有默認值並完全避免 XML 配置。如果你想開始你的第一個 Spring Boot 應用程式,你可以在官方文檔中找到一個 15 分鐘的教材。