Spring、SpringMVC和SpringBoot看這一篇就夠了!

一、Springjava

Spring是一個開源容器框架,能夠接管web層,業務層,dao層,持久層的組件,而且能夠配置各類bean,和維護bean與bean之間的關係。其核心就是控制反轉(IOC),和麪向切面(AOP),簡單的說就是一個分層的輕量級開源框架。web

二、SpringMVCspring

Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裏面。SpringMVC是一種web層mvc框架,用於替代servlet(處理|響應請求,獲取表單參數,表單校驗等。SpringMVC是一個MVC的開源框架,SpringMVC=struts2+spring,springMVC就至關因而Struts2加上Spring的整合。springboot

三、SpringBoot架構

Springboot是一個微服務框架,延續了spring框架的核心思想IOC和AOP,簡化了應用的開發和部署。Spring Boot是爲了簡化Spring應用的建立、運行、調試、部署等而出現的,使用它能夠作到專一於Spring應用的開發,而無需過多關注XML的配置。提供了一堆依賴打包,並已經按照使用習慣解決了依賴問題--->習慣大於約定。mvc

2、原理和結構

一、Spring的原理和組成框架

Spring爲簡化咱們的開發工做,封裝了一系列的開箱即用的組件功能模塊,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。以下圖:ide

 

 

簡化的理解圖:微服務

 

 

 

二、SpringMVC的原理和組成學習

從上圖中能夠看出:SpringMVC是屬於SpringWeb裏面的一個功能模塊(SpringWebMVC)。專門用來開發SpringWeb項目的一種MVC模式的技術框架實現。其原理以下:

 

 

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

三、SpringBoot的原理和特性

Spring Boot基本上是Spring框架的擴展,它消除了設置Spring應用程序所需的XML配置,爲更快,更高效的開發生態系統鋪平了道路。

Spring Boot中的一些特色:

  1. 建立獨立的spring應用。
  2. 嵌入Tomcat, JettyUndertow 並且不須要部署他們。
  3. 提供的「starters」 poms來簡化Maven配置
  4. 儘量自動配置spring應用。
  5. 提供生產指標,健壯檢查和外部化配置
  6. 絕對沒有代碼生成和XML配置要求。

組成和結構以下圖:

 

 

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

 

 

3、區別與總結

1.簡單理解爲:Spring包含了SpringMVC,而SpringBoot又包含了Spring或者說是在Spring的基礎上作得一個擴展。

 

 

 

二、關係大概就是這樣:

spring mvc < spring < springboot

 

三、Spring Boot 對比Spring的一些優勢包括:

  • 提供嵌入式容器支持
  • 使用命令java -jar獨立運行jar
  • 在外部容器中部署時,能夠選擇排除依賴關係以免潛在的jar衝突
  • 部署時靈活指定配置文件的選項
  • 用於集成測試的隨機端口生成

四、結論

Spring Boot只是Spring自己的擴展,使開發,測試和部署更加方便。

相關文章
相關標籤/搜索