spring、springmvc、springboot、springcloud 之間的聯絡和區別

FH-Admin發表於2021-07-16

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

2. springMvc是spring基礎之上的一個MVC框架,主要處理web開發的路徑對映和檢視渲染,屬於spring框架中WEB層開發的一部分;

springMvc和springBoot:

1. springMvc屬於一個企業WEB開發的MVC框架,涵蓋麵包括前端檢視開發、檔案配置、後臺介面邏輯開發等,XML、config等配置相對比較繁瑣複雜;

2. springBoot框架相對於springMvc框架來說,更專注於開發微服務後臺介面,不開發前端檢視 fhadmin.cn ,同時遵循預設優於配置,簡化了外掛配置流程,不需要配置xml,相對springmvc,大大簡化了配置流程;

springBoot和springCloud:

1. spring boot使用了預設大於配置的理念,整合了快速開發的spring多個外掛,同時自動過濾不需要配置的多餘的外掛,簡化了專案的開發配置流程,一定程度上取消xml配置,是一套快速配置開發的腳手架,fhadmin.cn ,能快速開發單個微服務;

2. spring cloud大部分的功能外掛都是基於springBoot去實現的,springCloud關注於全域性的微服務整合和管理,將多個springBoot單體微服務進行整合以及管理; springCloud依賴於springBoot開發,而springBoot可以獨立開發;

總結:

1. Spring 框架就像一個家族,有眾多衍生產品例如 boot、security、jpa等等。但他們的基礎都是Spring的ioc、aop等. ioc 提供了依賴注入的容器, aop解決了面向橫切面程式設計,然後在此兩者的基礎上實現了其他延伸產品的高階功能;

2. springMvc主要解決WEB開發的問題,是基於Servlet 的一個MVC框架,透過XML配置,統一開發前端檢視和後端邏輯;

3. 由於Spring的配置非常複雜,各種XML、JavaConfig、servlet處理起來比較繁瑣,為了簡化開發者的使用,從而創造性地推出了springBoot框架,預設優於配置,簡化了springMvc的配置流程;但區別於springMvc的是,fhadmin.cn ,springBoot專注於單體微服務介面開發,和前端解耦,雖然springBoot也可以做成springMvc前後臺一起開發,但是這就有點不符合springBoot框架的初衷了;

4. 對於springCloud框架來說,它和springBoot一樣,注重的是微服務的開發,但是springCloud更關注的是全域性微服務介面的整合和管理,相當於管理多個springBoot框架的單體微服務;

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章