Spring,SpringMVC,SpringBoot,SpringCloud有什麼區別和聯繫?

原文地址:https://dwz.cn/lDsNEeDX

Spring,SpringMVC,SpringBoot,SpringCloud有什麼區別和聯繫?

簡單介紹

Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。Spring使你能夠編寫更乾淨、更可管理、並且更易於測試的代碼。

Spring MVC是Spring的一個模塊,一個web框架。通過Dispatcher Servlet, ModelAndView 和 View Resolver,開發web應用變得很容易。主要針對的是網站應用程序或者服務開發——URL路由、Session、模板引擎、靜態Web資源等等。

Spring配置複雜,繁瑣,所以推出了Spring boot,約定優於配置,簡化了spring的配置流程。

Spring Cloud構建於Spring Boot之上,是一個關注全局的服務治理框架。

Spring VS SpringMVC:

Spring是一個一站式的輕量級的java開發框架,核心是控制反轉(IOC)和麵向切面(AOP),針對於開發的WEB層(springMvc)、業務層(Ioc)、持久層(jdbcTemplate)等都提供了多種配置解決方案;

SpringMVC是Spring基礎之上的一個MVC框架,主要處理web開發的路徑映射和視圖渲染,屬於Spring框架中WEB層開發的一部分;

SpringMVC VS SpringBoot:

SpringMVC屬於一個企業WEB開發的MVC框架,涵蓋麵包括前端視圖開發、文件配置、後臺接口邏輯開發等,XML、config等配置相對比較繁瑣複雜;

SpringBoot框架相對於SpringMVC框架來說,更專注於開發微服務後臺接口,不開發前端視圖;

SpringBoot和SpringCloud:

SpringBoot使用了默認大於配置的理念,集成了快速開發的Spring多個插件,同時自動過濾不需要配置的多餘的插件,簡化了項目的開發配置流程,一定程度上取消xml配置,是一套快速配置開發的腳手架,能快速開發單個微服務;

SpringCloud大部分的功能插件都是基於SpringBoot去實現的,SpringCloud關注於全局的微服務整合和管理,將多個SpringBoot單體微服務進行整合以及管理;SpringCloud依賴於SpringBoot開發,而SpringBoot可以獨立開發;

總結下來:

  • Spring是核心,提供了基礎功能;
  • Spring MVC 是基於Spring的一個 MVC 框架 ;
  • Spring Boot 是為簡化Spring配置的快速開發整合包;
  • Spring Cloud是構建在Spring Boot之上的服務治理框架。


分享到:


相關文章: