一嗦玖、概念
1患雇、Spring
Spring是一個開源容器框架,可以接管web層宇挫,業(yè)務(wù)層苛吱,dao層,持久層的組件器瘪,并且可以配置各種bean,和維護(hù)bean與bean之間的關(guān)系又谋。其核心就是控制反轉(zhuǎn)(IOC),和面向切面(AOP),簡單的說就是一個分層的輕量級開源框架。
2娱局、SpringMVC
Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面咧七。SpringMVC是一種web層mvc框架衰齐,用于替代servlet(處理|響應(yīng)請求,獲取表單參數(shù)继阻,表單校驗等耻涛。SpringMVC是一個MVC的開源框架废酷,SpringMVC=struts2+spring,springMVC就相當(dāng)于是Struts2加上Spring的整合抹缕。
3澈蟆、SpringBoot
Springboot是一個微服務(wù)框架,延續(xù)了spring框架的核心思想IOC和AOP卓研,簡化了應(yīng)用的開發(fā)和部署趴俘。Spring Boot是為了簡化Spring應(yīng)用的創(chuàng)建、運行奏赘、調(diào)試寥闪、部署等而出現(xiàn)的,使用它可以做到專注于Spring應(yīng)用的開發(fā)磨淌,而無需過多關(guān)注XML的配置疲憋。提供了一堆依賴打包,并已經(jīng)按照使用習(xí)慣解決了依賴問題—>習(xí)慣大于約定梁只。
二缚柳、原理和結(jié)構(gòu)
1、Spring的原理和組成
Spring為簡化我們的開發(fā)工作搪锣,封裝了一系列的開箱即用的組件功能模塊秋忙,包括:Spring JDBC 、Spring MVC 淤翔、Spring Security翰绊、 Spring AOP 、Spring ORM 旁壮、Spring Test等监嗜。如下圖:
簡化的理解圖:
2、SpringMVC的原理和組成
從上圖中可以看出:SpringMVC是屬于SpringWeb里面的一個功能模塊(SpringWebMVC)抡谐。專門用來開發(fā)SpringWeb項目的一種MVC模式的技術(shù)框架實現(xiàn)裁奇。
其原理如下:
MVC:Model(模型)、VIew(視圖)麦撵、Controller(控制器)刽肠;我們從開始接觸并學(xué)習(xí)javaWeb開發(fā)就知道MVC這一種架構(gòu),如早起的Sturts1免胃、Sturts2等音五。
3、SpringBoot的原理和特性
Spring Boot基本上是Spring框架的擴(kuò)展羔沙,它消除了設(shè)置Spring應(yīng)用程序所需的XML配置躺涝,為更快,更高效的開發(fā)生態(tài)系統(tǒng)鋪平了道路扼雏。
Spring Boot中的一些特點:
(1)創(chuàng)建獨立的spring應(yīng)用坚嗜。
(2)嵌入Tomcat, JettyUndertow 而且不需要部署他們夯膀。
(3)提供的“starters” poms來簡化Maven配置。
(4)盡可能自動配置spring應(yīng)用苍蔬。
(5)提供生產(chǎn)指標(biāo),健壯檢查和外部化配置诱建。
(6)絕對沒有代碼生成和XML配置要求。
組成和結(jié)構(gòu)如下圖:
從圖中可以看出SpringBoot是包含了Spring的核心(IOC)和(AOP)碟绑;以及封裝了一些擴(kuò)展俺猿,如Stater:
三、區(qū)別與總結(jié)
1.簡單理解為:Spring包含了SpringMVC蜈敢,而SpringBoot又包含了Spring或者說是在Spring的基礎(chǔ)上做得一個擴(kuò)展辜荠。
2、關(guān)系大概就是這樣:
spring mvc < spring < springboot
3抓狭、Spring Boot 對比Spring的一些優(yōu)點包括:
(1)提供嵌入式容器支持
(2)使用命令java -jar獨立運行jar
(3)在外部容器中部署時伯病,可以選擇排除依賴關(guān)系以避免潛在的jar沖突
(4)部署時靈活指定配置文件的選項
(5)用于集成測試的隨機(jī)端口生成
4、結(jié)論
Spring Boot只是Spring本身的擴(kuò)展否过,使開發(fā)午笛,測試和部署更加方便。
我這還整理有很多的Java面試資料和Java學(xué)習(xí)資料苗桂,有需要的小伙伴可以點擊進(jìn)入药磺,暗號:jszq? 免費領(lǐng)取煤伟!也可以關(guān)注私信我哦癌佩!
最后,祝各位小伙伴都可以工作順利哦便锨!