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