SpringBoot2學(xué)習(xí)之springboot與spring區(qū)別分析
springboot與spring區(qū)別
一、spring 可以做什么
之前已經(jīng)學(xué)習(xí)了 spring 的 IOC容器、AOP、springMVC 開發(fā)web應(yīng)用等等,這里的 spring 實(shí)際是指 spring-framework 這個(gè)框架。
然而,宏觀上的 spring 是一個(gè)生態(tài)圈。
spring 可以做什么?參考官網(wǎng):
微服務(wù)開發(fā):當(dāng)系統(tǒng)功能越來越多,就需要進(jìn)一步拆分系統(tǒng)功能,一個(gè)模塊一個(gè)應(yīng)用,spring 可以幫助快速開發(fā)微服務(wù)。
- 響應(yīng)式編程:基于異步非阻塞,可以通過整個(gè)應(yīng)用之間構(gòu)建異步數(shù)據(jù)流的方式。異步數(shù)據(jù)流允許占用少量的資源,比如線程、內(nèi)存、CPU等,構(gòu)建一個(gè)高吞吐應(yīng)用。
- cloud 分布式云開發(fā):將大型應(yīng)用拆分成微小應(yīng)用之后,就會(huì)產(chǎn)生分布式應(yīng)用,cloud 提供解決方案。
- 開發(fā)web應(yīng)用:像之前示例里的,利用框架完成頁面和后臺(tái)系統(tǒng)的交互
- serverless:無服務(wù)開發(fā)。簡單來說,函數(shù)即服務(wù),無需購買任何服務(wù)器,上到云平臺(tái),按照實(shí)際占用的資源計(jì)費(fèi),節(jié)省成本。
- 事件驅(qū)動(dòng):基于事件的方式構(gòu)建實(shí)時(shí)數(shù)據(jù)流,可以通過響應(yīng)式編程,完成高吞吐應(yīng)用的開發(fā)。
- batch:批處理業(yè)務(wù)。
spring 生態(tài)圈里有豐富的內(nèi)容,這些組合起來就可以幫我們完成這么多事情,上面也只是幾大特色而已。
當(dāng)然,在使用生態(tài)圈里的內(nèi)容進(jìn)行整合使用的過程中也是有點(diǎn)痛苦的,往往會(huì)陷入"配置地獄"。這一點(diǎn),在之前的springMVC學(xué)習(xí)中也已經(jīng)有所體驗(yàn)了,這還僅僅是整合了 springMVC 而已。
那么,誰來解決這個(gè)問題呢?沒錯(cuò),就是springboot。
二、springboot
解放繁瑣的配置,是springboot與生俱來的使命。
springboot 就相當(dāng)于是一個(gè)高層的框架,底層還是spring-framework。它可以整合整個(gè) spring 系列的技術(shù)棧,幫我們完成應(yīng)用開發(fā),不用寫那么多繁重的配置。
打個(gè)比方,你買電腦雖然可以自己 diy組裝,但是需要非常強(qiáng)的動(dòng)手能力。但是大多數(shù)人還是喜歡省事點(diǎn),直接買個(gè)品牌機(jī)器,開箱即用。
本次學(xué)習(xí)是基于springboot2,由于spring5引入了重大升級(jí),所以springboot2相比之前版本也是有不少的使用變化。
spring5 中的大更新就是響應(yīng)式編程,對應(yīng)的在 springboot2中,數(shù)據(jù)訪問層就支持了構(gòu)建異步數(shù)據(jù)流的方式進(jìn)行響應(yīng)式開發(fā)。
SpringBoot 優(yōu)點(diǎn)
- 創(chuàng)建獨(dú)立Spring應(yīng)用
- 內(nèi)嵌web服務(wù)器:在之前springmvc 開發(fā)應(yīng)用,最終把應(yīng)用打成一個(gè)war包,最終部署到tomcat上。所以,目標(biāo)環(huán)境里還需要裝tomcat,進(jìn)行配置等。
- 使用soringboot,目標(biāo)環(huán)境即使沒有tomcat也沒關(guān)系,這里已經(jīng)集成了,直接運(yùn)行即可。
- 自動(dòng) starter 依賴,簡化構(gòu)建配置:
- 之前開發(fā)springmvc,需要導(dǎo)入一大堆依賴,現(xiàn)在只需要導(dǎo)入一個(gè)依賴web-starter。另外還可以自動(dòng)幫我們控制好導(dǎo)入的版本,保證可以協(xié)同工作。
- 自動(dòng)配置Spring以及第三方功能:這個(gè)就是我們最喜歡的,可以解放配置的功能。
- 提供生產(chǎn)級(jí)別的監(jiān)控:提供生產(chǎn)級(jí)別的監(jiān)控、健康檢查及外部化配置。幾乎不用任何配置,運(yùn)維人員就可以監(jiān)控到指標(biāo)。
- 無代碼生成,無需編寫 xml:底層自動(dòng)發(fā)現(xiàn)場景,進(jìn)行配置。
總之,springboot是整個(gè) spring 技術(shù)棧的一站式框架?;蛘哒f是,簡化 spring 技術(shù)棧的快速開發(fā)腳手架。
SpringBoot 缺點(diǎn)
- 版本抵達(dá)快,需要時(shí)刻關(guān)注變化。這也變相說明生態(tài)社區(qū)非?;钴S,其實(shí)也不算是個(gè)缺點(diǎn),算特點(diǎn)。
- 封裝太深,內(nèi)部原理負(fù)責(zé),不容易精通。
三、如何學(xué)習(xí) springboot
最好的老師,還得是官方文檔
地址:https://spring.io/projects/spring-boot
進(jìn)入官方地址后,點(diǎn)擊LEARN可以看到有好多版本,以正式穩(wěn)定版為主,點(diǎn)擊2.5.4 GA后的文檔連接,進(jìn)入說明文檔。

文檔結(jié)構(gòu)
大概分為下面的模塊:


官方文檔是后續(xù)學(xué)習(xí)過程中,依賴的重要學(xué)習(xí)資料。
如果要去了解版本的更新內(nèi)容,
可以到 https://github.com/spring-projects/spring-boot/wiki#release-notes

查看版本日志。
以上就是SpringBoot2學(xué)習(xí)之springboot與spring區(qū)別分析的詳細(xì)內(nèi)容,更多關(guān)于springboot與spring區(qū)別的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot3集成iText實(shí)現(xiàn)PDF導(dǎo)出功能
不知道小伙伴們在項(xiàng)目中有沒有遇到過導(dǎo)出 PDF 的需求,小編在之前的 tienchin 項(xiàng)目中有一個(gè)合同導(dǎo)出的功能,需要將文檔導(dǎo)出為PDF,將文檔導(dǎo)出為 PDF 有很多方案,不同方案的優(yōu)缺點(diǎn)也各不相同,今天小編就和大家演示一個(gè),感興趣的小伙伴跟著小編一起來看看吧2024-10-10
Java中的Random()函數(shù)及兩種構(gòu)造方法
Java中存在著兩種Random函數(shù)分別是java.lang.Math.Random和java.util.Random,文中給大家介紹了random()的兩種構(gòu)造方法,感興趣的朋友跟隨小編一起看看吧2018-11-11
快速上手Mybatis-plus結(jié)構(gòu)構(gòu)建過程
這篇文章主要介紹了快速上手Mybatis-plus結(jié)構(gòu)構(gòu)建過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
tomcat啟動(dòng)完成執(zhí)行 某個(gè)方法 定時(shí)任務(wù)(Spring)操作
這篇文章主要介紹了tomcat啟動(dòng)完成執(zhí)行 某個(gè)方法 定時(shí)任務(wù)(Spring)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
mybatis plus generator 根據(jù)數(shù)據(jù)庫自動(dòng)生成實(shí)體類的實(shí)現(xiàn)示例
本文主要介紹了mybatis plus generator 根據(jù)數(shù)據(jù)庫自動(dòng)生成實(shí)體類的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
利用Java實(shí)現(xiàn)在線圖片URL轉(zhuǎn)換為Base64以及反向解析成圖片
Base64 是一種將二進(jìn)制數(shù)據(jù)編碼為 ASCII 字符串格式的方法,常用于在網(wǎng)絡(luò)中安全傳輸圖片、文件等內(nèi)容,本文給大家介紹了如何利用Java實(shí)現(xiàn)在線圖片URL轉(zhuǎn)換為Base64以及反向解析成圖片,文章有相關(guān)的代碼和圖文供大家參考,需要的朋友可以參考下2025-03-03

