在 5 分鐘或更短時間內解釋 Spring 框架
已發表: 2022-12-28Spring Framework 是一個功能強大的開源 Java 應用程序開發框架,可以輕鬆創建健壯的高性能應用程序。
開源是指人們可以自由訪問、修改和共享的東西,因為源代碼是免費提供的。
開源應用程序框架是由一組軟件開發人員創建的用於軟件開發的模板。 存在用於不同目的的不同類型的模板,例如創建用戶界面、網站和基本軟件應用程序。
如果您不熟悉應用程序開發,那麼開始使用 Spring Framework 對您來說可能是一個很好的開始。 在本文中,您將了解它是什麼以及如何使用它。
什麼是彈簧框架?
Spring Framework 是開發人員用來創建企業 Java 應用程序的開源框架。 該框架由 Rod Johnson 創建,並於 2003 年在 Apache 2.0 許可下發布。
一些程序員通常 bash Java 並聲稱創建基本應用程序很麻煩。 Spring Framework 旨在簡化開發企業 Java 應用程序的繁瑣和復雜的過程。
春天很寬闊。 因此,建議您在開始使用其他基於 Spring 的項目(例如 Spring Boot、Spring GraphQL 和 Spring Cloud)之前先了解 Spring 框架是什麼。
為什麼要使用 Spring 框架?
- 靈活。 該框架提供了面向方面編程 (AOP)、依賴注入 (DI) 和普通舊 Java 對象 (POJO) 等技術。 因此,您可以使用 Spring 來實現不同的目標。
- 春天來得快。 儘管擁有所有這些技術,Spring Framework 仍然是輕量級的,使其成為創建可伸縮且健壯的企業 Web 應用程序的理想選擇。
- 很棒的社區。 Spring 有一個多元化的社區,您可以相信它會在您需要的時候幫助提供各種解決方案。
- 安全。 Spring 以其安全措施而聞名,漏洞總是通過頻繁的補丁修復。 始終監控第三方依賴項,以確保它們的漏洞不會干擾核心流程。
- 富有成效的。 Spring Framework 簡化了開發 Java 企業應用程序的體驗。
彈簧特性
支持面向方面的編程
面向方面的編程為橫切關注點提供了更多的模塊化。 AOP 還補充了面向對象的編程。
AOP 中模塊化的主要單元是橫切關注點(Aspect)。 因此,開發人員可以創建聲明式企業服務和自定義方面。
控制反轉 (IoC) 容器
IoC 容器提供了一種管理和配置 Java 對象的簡化方法。 定義的 Java 對象的生命週期由該容器管理,這顯著增加了基於 Spring 的應用程序的可重構性。
控制反轉利用依賴查找或依賴注入模式來提供對象引用運行時。 IoC 容器帶有配置管理所需的彙編代碼。
數據訪問框架
數據通信過程得到簡化,因為 Spring 直接支持 Hibernate、JDBC 和 Java Persistence API (JPA),這些是 Java 中一些最流行的數據訪問框架。 您還可以依靠此框架為所有受支持的數據訪問框架提供資源包裝、異常處理和資源管理等功能。
Spring MVC 框架
開發人員可以使用這個基於請求的框架來創建滿足他們需求的自定義 MVC 實現。
DispatcherServlet 類的任務是處理用戶的請求,然後將它們轉發給正確的控制器,它位於 Spring MVC 的核心。 因此,控制器可以處理請求、創建模型並通過指定的視圖向最終用戶提供信息。
有幾個測試框架
您可以在通過 Mock 對象、TestContext 框架或 Spring MVC 測試開發基於 Spring 的應用程序時對其進行測試。
語言支持
Spring 框架支持 Groovy 和 Kotlin。
彈簧架構
Spring Framework 帶有大約 20 個模塊。 這個框架的好處是它允許您選擇適用於您的用例的模塊。 這些模塊分為核心容器、AOP(面向方面的編程)、數據訪問/集成、Web、儀器和測試。
#1。 核心容器
Spring Framework 的Core Container 包含Core、Beans、Context 和Expression Language 模型。 這些語言模型在以下方面很有用;
- 核心模塊是框架的基礎部分。 您會在核心找到 IoC 和依賴注入功能。
- Bean模塊以 BeanFactory 著稱,它是工廠模式的複雜實現。
- Context模塊建立在 Core 和 Bean 模塊之上。 該模塊繼承了 Bean 模塊的特性,但增加了對國際化的支持。
- 表達式語言模塊提供了一種強大的表達式語言,用於在運行時操作和查詢對像圖。
#2。 數據訪問/集成
JDBC、ORM、OXM、JMS 和事務模塊構成了數據訪問/集成層。 這些模塊執行以下操作;
- JDBC模塊有一個 JBDC 抽象層,它消除了進行繁瑣的 JDBC 編碼以及解析特定於數據庫供應商的錯誤代碼的需要。
- ORM是一些流行的對象關係映射 API(例如 JPA、JDO、Hibernate 和 iBatis)的集成層。 '
- OXM模塊是一個抽象層,支持 XStream、JAXB、JiBX、Castor 和 XMLBeans 的對象/XML 映射實現。
- Transaction模塊支持對實現特殊接口的類的聲明式和編程式事務管理。
- Java 消息服務(JMS) 模塊具有生成和使用消息的功能。
#3。 AOP(面向切面編程)和檢測
該模塊自帶符合AOP Alliance的面向切面編程實現,可以很容易的定義諸如方法攔截器之類的東西。 另一方面,Instrumentation 模塊提供類加載器和類檢測支持以用於某些應用程序服務器。
#4。 網絡
Web、Web-Servlet、Web-Struts 和 Web-Portlet 模塊構成了 Web 層。
- Web模塊負責基本的面向 Web 的集成功能,例如多部分文件上傳功能。
- Web-Servlet模塊具有用於 Web 應用程序的 Spring MVC 實現。
- Web-Portlet模塊反映了 Web-Servlet 模塊的功能。 Web-Portlet 模塊提供了在 portlet 環境中使用的 MVC 實現。
- Web-Socket模塊支持Web 應用程序中服務器和客戶端之間的雙向通信。
#5。 測試
測試模塊是 Spring 體系結構的最後一部分。 它是支持使用 TestNG 或 JUnit 測試 Spring 組件的模塊。
安裝 Spring 框架
檢查是否安裝了 Java
在了解 Spring Framework 的工作原理之前,我們必須在我們的 PC 上安裝 Spring。 Spring 文檔提供了有關如何開始使用的大量資源,具體取決於您的操作系統。
對於我們的案例,我們將使用基於 Linux 的操作系統 Ubuntu 20.04.5。
在安裝 Spring 之前,請確保您已使用此命令安裝了 Java
java -version
如果您安裝了 Java,您將得到類似於此屏幕截圖的輸出。
如果您的 PC 上沒有它,可以根據您的需要使用多種方法安裝 Java。
安裝 Spring 框架
正如 Spring 文檔中突出顯示的那樣,有多種安裝 Spring 框架的方法。
對於我們的案例,我們將使用 GVM(Groovy 環境管理器)。 您可以使用 GVMtool 獲取 GVM 或在命令行上安裝它。
有了GVM後,使用以下命令安裝,檢查是否安裝了Spring框架
gvm install springboot
spring --version
如果安裝了 Spring,您可能會得到如下所示的輸出
與 Spring 框架相關的重要術語
依賴注入
依賴注入是一種允許開發人員在類之外創建獨立對象的功能。 DI 還允許用戶以不同的方式將這些對象提供給類。
控制反轉 (IoC)
IoC 是將部分程序或對象的控制權轉移到框架或容器的概念。 在傳統編程中,我們的自定義代碼調用庫。 另一方面,IoC 允許框架(在本例中為 Spring)調用我們的自定義代碼並控製程序的流程。
面向方面編程 (AOP)
AOP 是一種用於構建可應用於整個應用程序的通用且可重用例程的技術。 這種方法將可重複的任務(如輸入驗證、日誌記錄和錯誤處理)與核心應用程序邏輯分開。
Spring 框架學習資源
#1。 使用 Spring Framework 5 進行響應式編程
這個春季課程由視頻、文章和可下載資源組成。 該課程教授使用 Java 進行函數式編程、如何使用 Spring WebFlux 進行微服務以及如何在 Spring Data MongoDB 中利用 Reactive 類型。
#2。 Spring框架大師班
Spring Framework Master Class是付費課程,教授Java項目使用Spring Framework的真實方式。 您將學習如何使用各種工具,例如 Spring Boot、JUnit 和 Mockito、Spring JDBC、Spring AOP 和 Hibernate。
#3。 簡單步驟中的 Spring 框架
如果您想使用 Spring Framework 創建端到端 Java EE Web 應用程序,那麼 Spring Framework In Easy Steps 是一門理想的高級課程。 您將學習的一些內容包括如何使用 Spring MVC 開發 Web 應用程序、如何使用 JQuery 和 Spring MVC 進行 Ajax 調用以及如何使用 Spring JDBC 執行數據庫操作,等等。
#4。 彈簧框架 5
如果您想學習 Spring Framework 5、Spring Data MongoDB、Spring Boot 2、Spring MVC、Spring Data JPA 和 Hibernate,Spring Framework 5 課程是您的理想之選。 您可以利用 57 小時的點播視頻、13 篇文章和大量可下載資料。
作者的話
Java 仍然是現代世界中最流行的編程語言之一。 儘管正在引入新的語言,但諸如 Spring 之類的框架為 Java 帶來了新的活力並擴展了它的用途。 因此,我們可能會繼續對 Java 工程師有需求,因為他們需要維護遺留代碼並創建新的應用程序。
結論
Spring 在 Java EE 框架中排名靠前,我們希望您現在了解什麼是 Spring Framework,了解它的特性、架構和工作過程。 當與其他 Spring 項目相結合時,Spring Framework 為開發人員提供了可跨不同開發環境使用的各種開發工具。