spring、springMvc、springBoot和springCloud的聯繫與區別
需要JAVA Spring Cloud大型企業分佈式微服務雲構建的B2B2C電子商務平臺源碼請加企鵝求求 :二一四七七七五六三三
spring和springMvc:
spring是一個一站式的輕量級的java開發框架,核心是控制反轉(IOC)和麪向切面(AOP),針對於開發的WEB層(springMvc)、業務層(Ioc)、持久層(jdbcTemplate)等都提供了多種配置解決方案;
springMvc是spring基礎之上的一個MVC框架,主要處理web開發的路徑映射和視圖渲染,屬於spring框架中WEB層開發的一部分;
springMvc和springBoot:
springMvc屬於一個企業WEB開發的MVC框架,涵蓋麪包括前端視圖開發、文件配置、後臺接口邏輯開發等,XML、config等配置相對比較繁瑣複雜;
springBoot框架相對於springMvc框架來說,更專注於開發微服務後臺接口,不開發前端視圖;
springBoot和springCloud:
spring boot使用了默認大於配置的理念,集成了快速開發的spring多個插件,同時自動過濾不需要配置的多餘的插件,簡化了項目的開發配置流程,一定程度上取消xml配置,是一套快速配置開發的腳手架,能快速開發單個微服務;
spring cloud大部分的功能插件都是基於springBoot去實現的,springCloud關注於全局的微服務整合和管理,將多個springBoot單體微服務進行整合以及管理; springCloud依賴於springBoot開發,而springBoot可以獨立開發;
總結:
Spring 框架就像一個家族,有衆多衍生產品例如 boot、security、jpa等等。但他們的基礎都是Spring的ioc、aop等. ioc 提供了依賴注入的容器, aop解決了面向橫切面編程,然後在此兩者的基礎上實現了其他延伸產品的高級功能;
springMvc是基於Servlet 的一個MVC框架主要解決WEB開發的問題,因爲Spring的配置非常複雜,各種XML、JavaConfig、servlet處理起來比較繁瑣;
爲了簡化開發者的使用,從而創造性地推出了springBoot框架,默認優於配置,簡化了springMvc的配置流程;
但區別於springMvc的是,springBoot專注於微服務方面的接口開發,和前端解耦,雖然springBoot也可以做成springMvc前後臺一起開發,但是這就有點不符合springBoot框架的初衷了;
對於springCloud框架來說,它和springBoot一樣,注重的是微服務的開發,但是springCloud更關注的是全局微服務的整合和管理,相當於管理多個springBoot框架的單體微服務;