一、概念
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本身的擴展,使開發,測驗和部署更加方便,
有需要其他Java學習資料的可以關注+私信我!我這整理有海量的Java學習資料,還有最新的Java面試資料,有需要的可以私信我,免費提供!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/98829.html
標籤:其他
