日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot理解

發(fā)布時間:2023/12/20 javascript 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

為什么要用Springboot?

經(jīng)過前面SSM框架整合以及員工管理系統(tǒng)的學(xué)習(xí),對web開發(fā)框架有了簡單的認(rèn)識,現(xiàn)在又蹦出來個Springboot?使用SSM框架挺好的,為什么要使用springboot呢?這是個很頭疼的問題,為此使用Springboot之后,我將SSM和Springboot框架做個簡單的對比?來體現(xiàn)出來他們之間的差別,嘗試了解為什么使用SpringBoot。

傳統(tǒng)項目和Springboot的區(qū)別

傳統(tǒng)的項目:整合SSM時需要考慮各種配置文件,jar包沖突問題,整合起來非常繁瑣,開發(fā)完畢的項目以war包的形式放入Tomcatweb容器也就是Tomcat的webapps目錄中,然后Tomcat啟動執(zhí)行。

在SSM框架的學(xué)習(xí)過程中,基本上很大一部分時間都是在學(xué)習(xí)怎么整合SpringMVC,怎么整合mybatis等,怎么整合redis,怎么整合message等,整合過程異常繁瑣,各種jar包之間由于沖突問題報各種莫名奇妙的錯誤。而在使用各個框架的時候其難度并不大,很大的一部分時間花在了固定模式的整合上,當(dāng)時為了整合SSM花了將近3天的時間,參考了網(wǎng)上很多的例子(網(wǎng)上的例子魚龍混雜,很難有比較完美的例子能夠?qū)⑵涿恳徊皆趺磁f清楚,為此我專門使用了最新的spring版本,最新的springMVC版本以及最新的mybaitis版本將其整合過程做了詳細(xì)的講解,希望以后對SSM的環(huán)境搭建不在浪費大量的時間)才得以保證SSM完美的整合整合過程可以參見SSM入門實踐-員工管理系統(tǒng)實現(xiàn)。實際的開發(fā)過程中使用各個框架中基本上沒有什么難度,但是又必須得整合(各個框架確實很好用,能將繁瑣的不必要的代碼通過配置的方式得以實現(xiàn),整個項目的代碼結(jié)構(gòu)很清晰)。

Springboot項目:

什么是Springboot?

我這邊專門查閱了官方的文檔定義和目標(biāo):

Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can run. We take an opinionated view of the Spring platform and third-party libraries, so that you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

You can use Spring Boot to create Java applications that can be started by using java -jar or more traditional war deployments. We also provide a command line tool that runs “spring scripts”.

Our primary goals are:

  • Provide a radically faster and widely accessible getting-started experience for all Spring development.
  • Be opinionated out of the box but get out of the way quickly as requirements start to diverge from the defaults.
  • Provide a range of non-functional features that are common to large classes of projects (such as embedded servers, security, metrics, health checks, and externalized configuration).
  • Absolutely no code generation and no requirement for XML configuration.

Springboot是一個快速開發(fā)框架,能夠幫助我們快速的整合各種第三方框架(通過maven依賴的方式將比較繁瑣的固定包依賴關(guān)系通過maven繼承的方式全部依賴起來),完全采用注解化,在使用Springboot的過程中基本上沒有使用過XML,以簡化XML的配置,其內(nèi)置HTTP服務(wù)器(Tomcat,jetty),默認(rèn)嵌入的是Tomcat服務(wù)器,最終以Java應(yīng)用程序進(jìn)行執(zhí)行,當(dāng)然也可以部署為傳統(tǒng)的war包。

SpringBoot框架包含內(nèi)容:

關(guān)于Springboot的微服務(wù)?網(wǎng)上大家都說的的很多,說Springboot是一個微服務(wù)架構(gòu)?關(guān)于什么是微服務(wù)這個我目前還沒有很好的理解,這個貌似Springboot和微服務(wù)沒有多大關(guān)系,Springboot和微服務(wù)有關(guān)系,但應(yīng)該不是微服務(wù)框架,真正的微服務(wù)在Springcloud中體現(xiàn)。

微服務(wù)通信技術(shù)是HTTP+Json(restful)格式的輕量級的傳輸,而Springboot的web組件默認(rèn)集成了SpringMVC,既然SpringBoot默認(rèn)集成的組件是SpringMVC。

關(guān)于Springboot的學(xué)習(xí)本身框架,因為其本身比較簡單,因為其本身就是一個快速集成框架。其核心就是能夠快速的幫我們快速的整合第三方框架。

SpringBoot的核心原理

1:將第三方j(luò)ar包通過maven繼承的方式將常用的依賴關(guān)系幫助我們封裝好了,只要引入一個依賴就可以了。

2:在Springboot中是沒有web.xml的,那么怎么給Tomcat運行的呢?

通過前面的學(xué)習(xí)即SSM入門實踐,我們了解到Tomcat啟動時會加載web.xml以加載spring和啟動springmvc。

但是SpringBoot啟動SpringMVC的時候是沒有傳統(tǒng)的配置文件的(Springmvc-config.xml),以及web.xml,是如何啟動的呢?

SpringBoot完全采用注解化,并且在Spring3.0之后可以采用注解方式啟動SpringMVC(也就是使用注解啟動SpringMVC),Springboot中內(nèi)置嵌入Http服務(wù)器,可以使用Java來創(chuàng)建Tomcat,然后使用Tomcat的類加載器加載target目錄中的classes,一旦遇到@EnableWebMVC這樣的注解時將會去啟動SpringMVC。整個過程也就是使用Java代碼來啟動SpringMVC。

SpringBoot和SpringCloud的關(guān)系(區(qū)別)?

前面有提到Springcloud?又是一個新名字。

那么為什么要用SpringBoot而不使用SpringCloud呢?

這里對這兩個的關(guān)系捋一捋。

SpringBoot:上文已經(jīng)提到過,springboot其實是一個快速開發(fā)框架,能夠幫助我們快速整合第三方常用框架(也就是說Springboot不是說將任何的框架都給整合起來了,比如說Springmvc,mybatis,redis,rabbitMQ等,在github上能夠排的上名的礦建基本上都被整合進(jìn)去了,但不代表你寫的框架SpringBoot就會整合的,只有當(dāng)達(dá)到一定量的時候Springboot才會考慮整合),完全采用注解化來簡化XML配置,最終是以java應(yīng)用程序進(jìn)行執(zhí)行。

SpringCloud:是一套目前完整的微服務(wù)框架,微服務(wù)里面遇到的各種問題,SpringCloud都可以幫你解決,功能非常強大,例如注冊中心、客戶端調(diào)用工具、服務(wù)治理(負(fù)載均衡、斷路器、分布式配置中心、網(wǎng)關(guān)、服務(wù)鏈路),里面東西非常多,后續(xù)再了解。

上文說過微服務(wù)通信技術(shù)是HTTP+Json(restful)格式的輕量級的傳輸,而Springboot的web組件默認(rèn)集成了SpringMVC,既然SpringBoot默認(rèn)集成的組件是SpringMVC,SpringCloud依賴于SpringBoot實現(xiàn)微服務(wù),使用SpringMVC編寫微服務(wù)接口。因此Springboot不是微服務(wù)框架,可以這么理解SpringBoot+SpringCloud是微服務(wù)。

使用Springboot的目的只是實現(xiàn)快速開發(fā)。

總結(jié):

如果項目中只是單純的集成SpringBoot其目的是實現(xiàn)快速開發(fā),快速整合各種框架用

微服務(wù)開發(fā):會涉及RPC遠(yuǎn)程通訊技術(shù)、服務(wù)治理等

SpringBoot與SpringMVC的關(guān)系

SpringBoot中的web組件集成了SpringMVC框架,使用Java來啟動SpringMVC。

附錄簡單SpringBoot學(xué)習(xí)示例

主要講解Http部分內(nèi)容以及文件上傳下載內(nèi)容,下載地址

SpringBoot示例代碼_springboot的理解-Web開發(fā)代碼類資源-CSDN下載

總結(jié)

以上是生活随笔為你收集整理的SpringBoot理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。