1. 程式人生 > >spring、springMvc、springBoot和springCloud的聯絡與區別

spring、springMvc、springBoot和springCloud的聯絡與區別

spring和springMvc:

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框架來說,更專注於開發微服務後臺介面,不開發前端檢視;

springBoot和springCloud:

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

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

總結:

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

2. springMvc是基於Servlet 的一個MVC框架主要解決WEB開發的問題,因為Spring的配置非常複雜,各種XML、JavaConfig、servlet處理起來比較繁瑣;

3. 為了簡化開發者的使用,從而創造性地推出了springBoot框架,預設優於配置,簡化了springMvc的配置流程;
但區別於springMvc的是,springBoot專注於微服務方面的介面開發,和前端解耦,雖然springBoot也可以做成springMvc前後臺一起開發,但是這就有點不符合springBoot框架的初衷了;

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

參考網址:https://blog.csdn.net/u014590757/article/details/79602309