Spring框架是一個(gè)開放源代碼的J2EE應(yīng)用程序框架,由Rod Johnson發(fā)起,是針對(duì)bean的生命周期進(jìn)行管理的輕量級(jí)容器(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 快速入門指南吧!
第一步:啟動(dòng)一個(gè)新的 Spring Boot 項(xiàng)目
利用啟動(dòng).spring.io創(chuàng)建一個(gè)“網(wǎng)絡(luò)”項(xiàng)目。在“依賴項(xiàng)”對(duì)話框中搜索并添加“web”依賴項(xiàng),如屏幕截圖所示。點(diǎn)擊“生成”按鈕,下載 zip,然后將其解壓縮到計(jì)算機(jī)上的文件夾中。
創(chuàng)建的項(xiàng)目啟動(dòng).spring.io包含彈簧靴,一個(gè)使 Spring 準(zhǔn)備好在您的應(yīng)用程序中工作的框架,但不需要太多代碼或配置。Spring Boot 是啟動(dòng) Spring 項(xiàng)目的最快和最流行的方式。
第 2 步:添加您的代碼
在 IDE 中打開項(xiàng)目并在文件夾DemoApplication.java中找到該文件
src/main/java/com/example/demo?,F(xiàn)在通過添加下面代碼中顯示的額外方法和注釋來更改文件的內(nèi)容。您可以復(fù)制并粘貼代碼或直接輸入。
hello()我們添加的方法旨在獲取一個(gè)名為 的字符串參數(shù)name,然后將該參數(shù)與"Hello"代碼中的單詞結(jié)合起來。這意味著如果您“Amy”在請(qǐng)求中將您的姓名設(shè)置為,則響應(yīng)將為“Hello Amy”.
@RestController注釋告訴 Spring 這段代碼描述了一個(gè)應(yīng)該在 web 上可用的端點(diǎn)。@GetMapping(“/hello”)告訴 Spring 使用我們的方法hello()來回答發(fā)送到該
http://localhost:8080/hello地址的請(qǐng)求。最后,@RequestParam告訴 Springname在請(qǐng)求中期待一個(gè)值,但如果它不存在,它將默認(rèn)使用單詞“World”。
第 3 步:嘗試一下
讓我們構(gòu)建并運(yùn)行程序。打開命令行(或終端)并導(dǎo)航到您擁有項(xiàng)目文件的文件夾。我們可以通過發(fā)出以下命令來構(gòu)建和運(yùn)行應(yīng)用程序:
macOS/Linux:
./mvnw spring-boot:run
視窗:
mvnw spring-boot:run
您應(yīng)該會(huì)看到一些與此非常相似的輸出:
這里的最后幾行告訴我們春天已經(jīng)開始了。Spring Boot 的嵌入式 Apache Tomcat 服務(wù)器充當(dāng) Web 服務(wù)器,并正在偵聽localhostport上的請(qǐng)求8080。打開瀏覽器,在頂部的地址欄中輸入http://localhost:8080/你好. 你應(yīng)該得到一個(gè)很好的回應(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)是不完整的春云? 簡化管理并提高容錯(cuò)能力。
反應(yīng)性
反應(yīng)式系統(tǒng)具有某些特性,使其成為低延遲、高吞吐量工作負(fù)載的理想選擇。Project Reactor 和 Spring 產(chǎn)品組合協(xié)同工作,使開發(fā)人員能夠構(gòu)建響應(yīng)式、彈性、彈性和消息驅(qū)動(dòng)的企業(yè)級(jí)反應(yīng)式系統(tǒng)。
云
開發(fā)分布式系統(tǒng)可能具有挑戰(zhàn)性。復(fù)雜性從應(yīng)用層轉(zhuǎn)移到網(wǎng)絡(luò)層,需要服務(wù)之間更大的交互。使您的代碼“云原生”意味著處理12因子諸如外部配置、無狀態(tài)、日志記錄和連接到支持服務(wù)等問題。Spring Cloud 項(xiàng)目套件包含使用應(yīng)用程序在云中運(yùn)行所需的許多服務(wù)。
網(wǎng)絡(luò)應(yīng)用程序
Spring 使構(gòu)建 Web 應(yīng)用程序變得快速而輕松。通過刪除與 Web 開發(fā)相關(guān)的大部分樣板代碼和配置,您可以獲得一個(gè)現(xiàn)代 Web 編程模型,該模型可以簡化服務(wù)器端 HTML 應(yīng)用程序、REST API 和基于事件的雙向系統(tǒng)的開發(fā)。
無服務(wù)器
無服務(wù)器應(yīng)用程序利用現(xiàn)代云計(jì)算功能和抽象讓您專注于邏輯而不是基礎(chǔ)設(shè)施。在無服務(wù)器環(huán)境中,您可以專注于編寫應(yīng)用程序代碼,而底層平臺(tái)負(fù)責(zé)擴(kuò)展、運(yùn)行時(shí)間、資源分配、安全性和其他“服務(wù)器”細(xì)節(jié)。
事件驅(qū)動(dòng)
事件驅(qū)動(dòng)的系統(tǒng)反映了現(xiàn)代企業(yè)的實(shí)際運(yùn)作方式——每天都在發(fā)生成千上萬的小變化。Spring 處理事件并使開發(fā)人員能夠圍繞它們構(gòu)建應(yīng)用程序的能力意味著您的應(yīng)用程序?qū)⑴c您的業(yè)務(wù)保持同步。Spring 有許多事件驅(qū)動(dòng)選項(xiàng)可供選擇,從集成和流式傳輸一直到云功能和數(shù)據(jù)流。
批
批處理高效處理大量數(shù)據(jù)的能力使其成為許多用例的理想選擇。Spring Batch 行業(yè)標(biāo)準(zhǔn)處理模式的實(shí)現(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)證旨在測(cè)試和驗(yàn)證學(xué)生對(duì) Spring 和 Spring Boot核心方面的理解和熟悉程度,例如:配置、組件掃描、AOP、數(shù)據(jù)訪問和事務(wù)、REST、安全、自動(dòng)配置、執(zhí)行器、 Spring boot測(cè)試等。
審核編輯 黃昊宇
-
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17491 -
spring
+關(guān)注
關(guān)注
0文章
340瀏覽量
14344
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論