Spring框架是一個開放源代碼的J2EE應用程序框架,由Rod Johnson發起,是針對bean的生命周期進行管理的輕量級容器(lightweight container)。
Spring解決了開發者在J2EE開發中遇到的許多常見的問題,提供了功能強大IOC、AOP及Web MVC等功能。Spring可以單獨應用于構筑應用程序,也可以和Struts、Webwork、Tapestry等眾多Web框架組合使用,并且可以與 Swing等桌面應用程序AP組合。
因此, Spring不僅僅能應用于J2EE應用程序之中,也可以應用于桌面應用程序以及小應用程序之中。
Spring框架主要由七部分組成,分別是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
其次,無需多言,這張圖表很好地解釋了 Spring 在 Java 生態系統中的主導地位。10 開發人員中就有 4 能在其應用中使用 Spring Boot,而緊隨其后的便是Spring MVC 框架。
Spring是什么意思?
現在,讓我們一起來嘗試下Spring 快速入門指南吧!
第一步:啟動一個新的 Spring Boot 項目
利用啟動.spring.io創建一個“網絡”項目。在“依賴項”對話框中搜索并添加“web”依賴項,如屏幕截圖所示。點擊“生成”按鈕,下載 zip,然后將其解壓縮到計算機上的文件夾中。
創建的項目啟動.spring.io包含彈簧靴,一個使 Spring 準備好在您的應用程序中工作的框架,但不需要太多代碼或配置。Spring Boot 是啟動 Spring 項目的最快和最流行的方式。
第 2 步:添加您的代碼
在 IDE 中打開項目并在文件夾DemoApplication.java中找到該文件
src/main/java/com/example/demo。現在通過添加下面代碼中顯示的額外方法和注釋來更改文件的內容。您可以復制并粘貼代碼或直接輸入。
hello()我們添加的方法旨在獲取一個名為 的字符串參數name,然后將該參數與"Hello"代碼中的單詞結合起來。這意味著如果您“Amy”在請求中將您的姓名設置為,則響應將為“Hello Amy”.
@RestController注釋告訴 Spring 這段代碼描述了一個應該在 web 上可用的端點。@GetMapping(“/hello”)告訴 Spring 使用我們的方法hello()來回答發送到該
http://localhost:8080/hello地址的請求。最后,@RequestParam告訴 Springname在請求中期待一個值,但如果它不存在,它將默認使用單詞“World”。
第 3 步:嘗試一下
讓我們構建并運行程序。打開命令行(或終端)并導航到您擁有項目文件的文件夾。我們可以通過發出以下命令來構建和運行應用程序:
macOS/Linux:
./mvnw spring-boot:run
視窗:
mvnw spring-boot:run
您應該會看到一些與此非常相似的輸出:
這里的最后幾行告訴我們春天已經開始了。Spring Boot 的嵌入式 Apache Tomcat 服務器充當 Web 服務器,并正在偵聽localhostport上的請求8080。打開瀏覽器,在頂部的地址欄中輸入http://localhost:8080/你好. 你應該得到一個很好的回應,如下所示:
Spring能做什么
微服務
微服務架構是“新常態”。構建小型、獨立、可立即運行的應用程序可以為您的代碼帶來極大的靈活性并增加彈性。Spring Boot 的許多專用功能使您可以輕松地在生產環境中大規模構建和運行微服務。別忘了,沒有微服務架構是不完整的春云? 簡化管理并提高容錯能力。
反應性
反應式系統具有某些特性,使其成為低延遲、高吞吐量工作負載的理想選擇。Project Reactor 和 Spring 產品組合協同工作,使開發人員能夠構建響應式、彈性、彈性和消息驅動的企業級反應式系統。
云
開發分布式系統可能具有挑戰性。復雜性從應用層轉移到網絡層,需要服務之間更大的交互。使您的代碼“云原生”意味著處理12因子諸如外部配置、無狀態、日志記錄和連接到支持服務等問題。Spring Cloud 項目套件包含使用應用程序在云中運行所需的許多服務。
網絡應用程序
Spring 使構建 Web 應用程序變得快速而輕松。通過刪除與 Web 開發相關的大部分樣板代碼和配置,您可以獲得一個現代 Web 編程模型,該模型可以簡化服務器端 HTML 應用程序、REST API 和基于事件的雙向系統的開發。
無服務器
無服務器應用程序利用現代云計算功能和抽象讓您專注于邏輯而不是基礎設施。在無服務器環境中,您可以專注于編寫應用程序代碼,而底層平臺負責擴展、運行時間、資源分配、安全性和其他“服務器”細節。
事件驅動
事件驅動的系統反映了現代企業的實際運作方式——每天都在發生成千上萬的小變化。Spring 處理事件并使開發人員能夠圍繞它們構建應用程序的能力意味著您的應用程序將與您的業務保持同步。Spring 有許多事件驅動選項可供選擇,從集成和流式傳輸一直到云功能和數據流。
批
批處理高效處理大量數據的能力使其成為許多用例的理想選擇。Spring Batch 行業標準處理模式的實現使您可以在 JVM 上構建健壯的批處理作業。從 Spring 產品組合中添加 Spring Boot 和其他組件可讓您構建任務關鍵性批處理應用程序。
重要提醒: Spring 中國教育管理中心已攜手 VMware 全球最新 Spring技術和認證體系,幫助中國院校構建專業教學內容,全面賦能未來開發人。
Spring Professional認證旨在測試和驗證學生對 Spring 和 Spring Boot核心方面的理解和熟悉程度,例如:配置、組件掃描、AOP、數據訪問和事務、REST、安全、自動配置、執行器、 Spring boot測試等。
審核編輯 黃昊宇
-
框架
+關注
關注
0文章
403瀏覽量
17487 -
spring
+關注
關注
0文章
340瀏覽量
14343
發布評論請先 登錄
相關推薦
評論