首頁 > 軟體

Spring、SpringMVC和SpringBoot的區別及說明

2022-10-22 14:01:04

一、概念

1、Spring

Spring是一個開源容器框架,可以接管web層,業務層,dao層,持久層的元件,並且可以設定各種bean,和維護bean與bean之間的關係。

其核心就是控制反轉(IOC),和麵向切面(AOP),簡單的說就是一個分層的輕量級開源框架。

2、SpringMVC

Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。

SpringMVC是一種web層mvc框架,用於替代servlet(處理|響應請求,獲取表單引數,表單校驗等。

SpringMVC是一個MVC的開源框架,SpringMVC=struts2+spring,springMVC就相當於是Struts2加上Spring的整合。

3、SpringBoot

Springboot是一個微服務架構,延續了spring框架的核心思想IOC和AOP,簡化了應用的開發和部署。

Spring Boot是為了簡化Spring應用的建立、執行、偵錯、部署等而出現的,使用它可以做到專注於Spring應用的開發,而無需過多關注XML的設定。提供了一堆依賴打包,並已經按照使用習慣解決了依賴問題—>習慣大於約定。

二、原理和結構

1、Spring的原理和組成

Spring為簡化我們的開發工作,封裝了一系列的開箱即用的元件功能模組,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。

如下圖:

簡化的理解圖:

2、SpringMVC的原理和組成

從上圖中可以看出:SpringMVC是屬於SpringWeb裡面的一個功能模組(SpringWebMVC)。專門用來開發SpringWeb專案的一種MVC模式的技術框架實現。

其原理如下:

MVC:Model(模型)、VIew(檢視)、Controller(控制器);我們從開始接觸並學習javaWeb開發就知道MVC這一種架構,如早起的Sturts1、Sturts2等。

3、SpringBoot的原理和特性

Spring Boot基本上是Spring框架的擴充套件,它消除了設定Spring應用程式所需的XML設定,為更快,更高效的開發生態系統鋪平了道路。

Spring Boot中的一些特點:

建立獨立的spring應用。嵌入Tomcat, JettyUndertow 而且不需要部署他們。提供的“starters” poms來簡化Maven設定。儘可能自動設定spring應用。提供生產指標,健壯檢查和外部化設定。絕對沒有程式碼生成和XML設定要求。

組成和結構如下圖:

從圖中可以看出SpringBoot是包含了Spring的核心(IOC)和(AOP);以及封裝了一些擴充套件,如Stater:

三、區別與總結

1、簡單理解為

Spring包含了SpringMVC,而SpringBoot又包含了Spring或者說是在Spring的基礎上做得一個擴充套件。

2、關係大概就是這樣

spring mvc < spring < springboot

3、Spring Boot 對比Spring的一些優點包括

提供嵌入式容器支援使用命令java -jar獨立執行jar在外部容器中部署時,可以選擇排除依賴關係以避免潛在的jar衝突部署時靈活指定組態檔的選項用於整合測試的隨機埠生成

4、結論

Spring Boot只是Spring本身的擴充套件,使開發,測試和部署更加方便。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com