溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring和SpringBoot及SpringCloud之間的關(guān)系是怎樣的

發(fā)布時(shí)間:2021-10-13 14:04:13 來源:億速云 閱讀:214 作者:柒染 欄目:開發(fā)技術(shù)

本篇文章為大家展示了Spring和SpringBoot及SpringCloud之間的關(guān)系是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

  現(xiàn)在我們已經(jīng)初步清楚遇到了什么問題,接下來我們一起來看一下,SpringCloud是如何幫助我們應(yīng)對(duì)這些挑戰(zhàn)的?它會(huì)給應(yīng)用開發(fā)帶來哪些變化呢?我們?nèi)祟愇拿鞯陌l(fā)展主要體現(xiàn)在分工合作上,就像水電成為基礎(chǔ)設(shè)施之后,我們每家每戶就不會(huì)自己生產(chǎn)水和電了,技術(shù)的發(fā)展也符合這個(gè)趨勢(shì),云計(jì)算就是將一些通用的、標(biāo)準(zhǔn)的技術(shù)納入到基礎(chǔ)設(shè)施范疇,讓我們可以聚焦在業(yè)務(wù)領(lǐng)域,通過分工協(xié)作來提升交付的效率。SpringCloud也是遵循上述規(guī)則,從不同維度幫我們應(yīng)用開發(fā)做了許多輔助工作,讓應(yīng)用開發(fā)變得更加簡(jiǎn)單。

Spring、SpringBoot、SpringCloud之間的關(guān)系

  Spring作為應(yīng)用開發(fā)框架已經(jīng)存在很多年了,隨著JAVA開發(fā)技術(shù)的不斷發(fā)展豐富,Spring的體量變得越來越大,配置使用也變得越來越復(fù)雜,尤其是云計(jì)算和微服務(wù)等新技術(shù)的出現(xiàn),SpringBoot和SpringCloud應(yīng)運(yùn)而生了,新概念容易讓人困惑,我們有必要厘清它們彼此的關(guān)系:

Spring

  SpringFramework,一個(gè)開源Java/JavaEE全功能棧的應(yīng)用開發(fā)框架,包含了展示層、領(lǐng)域?qū)?、?shù)據(jù)層等主流的技術(shù)框架:

  核心容器(CoreContainer)

  Spring-Core:核心工具類,Spring其他模塊大量使用Spring-Core;

  Spring-Beans:Spring定義Bean的支持;

  Spring-Context:運(yùn)行時(shí)Spring容器;

  Spring-Context-Support:Spring容器對(duì)第三方包的集成支持;

  Spring-Expression:使用表達(dá)式語言在運(yùn)行時(shí)查詢和操作對(duì)象;

  AOP

  Spring-AOP:基于代理的AOP支持;

  Spring-Aspects:基于AspectJ的AOP支持;

  消息(Messaging)

  spring-Messaging:對(duì)消息架構(gòu)和協(xié)議的支持。

  Web

  Spring-Web:提供基礎(chǔ)的Web集成的功能,在Web項(xiàng)目中提供Spring的容器;

  Spring-WebMVC:提供基于Servlet的SpringMVC;

  Spring-WebSocket:提供WebSocket功能;

  Spring-WebMVC-Portlet:提供Portlet環(huán)境支持;

  數(shù)據(jù)訪問/集成(DataAccess/Integration)

  Spring-JDBC:提供以JDBC訪問數(shù)據(jù)庫的支持;

  Spring-TX:提供編程式和聲明式的事務(wù)支持;

  Spring-ORM:提供對(duì)對(duì)象/關(guān)系映射技術(shù)的支持;

  Spring-OXM:提供對(duì)對(duì)象/XML映射技術(shù)的支持;

  Spring-JMS:提供對(duì)JMS的支持;

  除此之外,圍繞著SpringFramework已經(jīng)形成一個(gè)龐大的生態(tài)圈,包含SpringData、SpringBatch、SpringSecurity、SpringIntegration、SpringAMQP、SpringMobile、SpringforAndroid、SpringWebFlow、SpringShell等頂級(jí)子項(xiàng)目,通過復(fù)用讓開發(fā)者可以快速開發(fā)業(yè)務(wù)應(yīng)用。

SpringBoot

  SpringBoot對(duì)Spring做了一層簡(jiǎn)單包裝,簡(jiǎn)化了Spring應(yīng)用的開發(fā),通過編寫少量的代碼就能搭建一個(gè)簡(jiǎn)單的應(yīng)用。它秉持默認(rèn)約定大于配置的理念,簡(jiǎn)化了原本復(fù)雜的配置文件,為Spring和第三方庫提供開箱即用的設(shè)置,提供一套快速開發(fā)單個(gè)微服務(wù)的腳手架,讓我們上手和開發(fā)更加方便高效。

SpringCloud

  一套分布式服務(wù)治理的框架,為我們提供分布式服務(wù)所依賴的配置中心、服務(wù)注冊(cè)發(fā)現(xiàn)、斷路器、負(fù)載均衡、微代理、消息總線、數(shù)據(jù)監(jiān)控等套件。SpringBoot是Spring的快速配置腳手架,我們可以基于SpringBoot快速開發(fā)單個(gè)微服務(wù),SpringCloud是基于SpringBoot的微服務(wù)開發(fā)套裝;SpringBoot專注于快速地開發(fā)單個(gè)微服務(wù),SpringCloud關(guān)注全局的服務(wù)治理框架。

  Spring沒有重復(fù)發(fā)明輪子,它只是將目前各家公司比較成熟、經(jīng)過考驗(yàn)的服務(wù)框架組合起來,通過SpringBoot封裝屏蔽了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者提供了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。微服務(wù)是可以獨(dú)立部署、水平擴(kuò)展、獨(dú)立訪問的服務(wù)單元,SpringCloud就是這些微服務(wù)的大管家,微服務(wù)架構(gòu)下組件的數(shù)量會(huì)非常多,SpringCloud需要提供各種方案來管理整個(gè)生態(tài)。SpringBoot可以不依賴SpringCloud獨(dú)立使用,但是SpringCloud離不開SpringBoot,它們的依賴關(guān)系就是:

  Spring->SpringBoot>SpringCloud

上述內(nèi)容就是Spring和SpringBoot及SpringCloud之間的關(guān)系是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI