擁抱SpringBoot/Cloud:從SpringMVC到Spring Boot

本文歡迎轉載,轉載前請聯繫作者,經允許後方可轉載。轉載後請註明出處,謝謝! http://blog.csdn.net/colton_null 作者:喝酒不騎馬 Colton_Null from CSDN

所以說,就好比買車。SpringMVC就是傳統的手動擋的車,開車時需要手動掛擋。而SpringBoot就是手自一體的車,默認是自動擋,想要的手動擋也可以。

引言

最近由於公司業務需要,再加上需要今年要搭建我們的微服務系統,所有最終我們決定擁抱Spring Boot + Spring Cloud生態。本系列Blog也是用於記錄這一路的學習歷程。

其實早在2016年剛實習的時候,做的第一個項目用的就是Spring Boot框架。當時也不懂什麼Spring,什麼是MVC。後來發現,網上大量的資料中,存在Spring、SpringMVC、SpringBoot等各種名詞。一個Spring框架,包涵了那麼多東西,看得是眼花繚亂頭皮發麻。

後來大概明白了,我使用的這個SpringBoot框架是屬於在SpringMVC之後,在這之前有SpringMVC,Struts之類的框架。但一直以來,我都想搞清楚SpringBoot和SpringMVC到底有什麼區別。可因爲技術功底不夠,經驗爲零的緣故,始終沒有太搞明白。只是知道SpringBoot比SpringMVC簡單了一些,簡化了一些開發中繁瑣的步驟,不需要大量配置等。而這也是從網上看其他材料籠統的說法。具體簡單在哪裏也不清楚。

去年開始,逐漸接觸了SpringMVC,以及JFinal。後來下半年的開發主要是在SpringBoot和MVC之間(不同的項目用的不一樣)。使用SpringMVC的時候就發現,原來SpringMVC需要配置那麼多的xml文件,而SpringBoot不用。還有一點就是,SpringBoot的一些配置主要是用配置文件和Java配置兩種方式。

隨着時間的推移,學的看的越來越多,直到年初的時候,決定今年要全面擁抱Spring Boot和Spring Cloud之後,又仔細的學習了SpringBoot,纔算是基本搞清楚SpringBoot和MVC到底差在哪裏。

幾話說明白SpringBoot和SpringMVC區別

1.SpringBoot不是什麼新技術,本質和SpringMVC是一樣的。
2.SpringBoot是用來簡化SpringMVC開發過程。簡而言之就是,以前在MVC中需要在xml配置大量的bean等,在SpringBoot中通通不需要了。
3.不需要了不代表沒有。SpringBoot根據開發人員所引的第三方插件框架,自動完成了默認的配置。所以SpringBoot提出的“約定優於配置”的含義也在此。說白了就是在SpringMVC開發中,有些配置在大多數項目中都是按照默認配置去編寫,比如DispatcherServlet,InternalResourceViewResolver等,那麼SpringBoot就幫開發者默認配置好。
4.當然了,如果想要自定義的話也提供自定義配置的方法。
5.SpringBoot內置Web容器(Tomcat),可以快速部署調試項目。就是,怎麼快怎麼來。同時,也支持用自己的web容器執行。(打成war包,上線的時候放在自己的外部web容器中,方便管理)。
6.所以說,就好比買車。SpringMVC就是傳統的手動擋的車,開車時需要手動掛擋。而SpringBoot就是手自一體的車,默認是自動擋,想要的手動擋也可以。

Spring從1.x到4.x

1.x時代:Spring所有的配置都要通過xml來完成。弊端很明顯,隨着項目的擴大,這些xml文件就像噩夢一樣很難維護。
2.x時代:隨着JDK1.5的面世,Spring提供了用註解的方式(@Controller,@Service等)來配置,大大減少了xml配置量。
3.x到現在:從3.x開始,到現在的4.x和SpringBoot,官方推薦使用Java的配置方式來配置工程。如下圖。這種方式更便於程序員理解配置本身,也極大方便了代碼的維護和調試(可以打斷點!!!)。
這裏寫圖片描述

SpringBoot是如何實現自動配置的?

這就說來話長了。未來有時間會根據源碼,詳細的介紹SpringBoot是如何完成的。這裏簡單的說就是,在SpringBoot的框架中,Spring已經將默認配置的內容寫好了。Spring對主流的框架都提供默認配置的支持,當開發人員引入第三方框架的時候,Spring會自動檢測到這些框架,然後執行默認配置的代碼,幫助開發人員完成默認的配置。

所以說,SpringMVC能做的,SpringBoot都可以做。而且SpringBoot採用“約定優於配置”的思想,可以快速搭建項目,讓開發人員的精力更多的專注於業務本身,不是繁瑣的配置。

發佈了68 篇原創文章 · 獲贊 257 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章