Spring,SpringMVC,SpringBoot,SpringCloud有什么區(qū)別和聯(lián)系?
簡單介紹
Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。Spring使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。
Spring MVC是Spring的一個(gè)模塊,一個(gè)web框架。通過Dispatcher Servlet, ModelAndView 和 View Resolver,開發(fā)web應(yīng)用變得很容易。主要針對(duì)的是網(wǎng)站應(yīng)用程序或者服務(wù)開發(fā)——URL路由、Session、模板引擎、靜態(tài)Web資源等等。
Spring配置復(fù)雜,繁瑣,所以推出了Spring boot,約定優(yōu)于配置,簡化了spring的配置流程。
Spring Cloud構(gòu)建于Spring Boot之上,是一個(gè)關(guān)注全局的服務(wù)治理框架。
Spring VS SpringMVC:
Spring是一個(gè)一站式的輕量級(jí)的java開發(fā)框架,核心是控制反轉(zhuǎn)(IOC)和面向切面(AOP),針對(duì)于開發(fā)的WEB層(springMvc)、業(yè)務(wù)層(Ioc)、持久層(jdbcTemplate)等都提供了多種配置解決方案;
SpringMVC是Spring基礎(chǔ)之上的一個(gè)MVC框架,主要處理web開發(fā)的路徑映射和視圖渲染,屬于Spring框架中WEB層開發(fā)的一部分;
SpringMVC VS SpringBoot:
SpringMVC屬于一個(gè)企業(yè)WEB開發(fā)的MVC框架,涵蓋面包括前端視圖開發(fā)、文件配置、后臺(tái)接口邏輯開發(fā)等,XML、config等配置相對(duì)比較繁瑣復(fù)雜;
SpringBoot框架相對(duì)于SpringMVC框架來說,更專注于開發(fā)微服務(wù)后臺(tái)接口,不開發(fā)前端視圖;
SpringBoot和Springcloud:
SpringBoot使用了默認(rèn)大于配置的理念,集成了快速開發(fā)的Spring多個(gè)插件,同時(shí)自動(dòng)過濾不需要配置的多余的插件,簡化了項(xiàng)目的開發(fā)配置流程,一定程度上取消xml配置,是一套快速配置開發(fā)的腳手架,能快速開發(fā)單個(gè)微服務(wù);
Springcloud大部分的功能插件都是基于SpringBoot去實(shí)現(xiàn)的,Springcloud關(guān)注于全局的微服務(wù)整合和管理,將多個(gè)SpringBoot單體微服務(wù)進(jìn)行整合以及管理;Springcloud依賴于SpringBoot開發(fā),而SpringBoot可以獨(dú)立開發(fā);
總結(jié)下來:
Spring是核心,提供了基礎(chǔ)功能;
Spring MVC 是基于Spring的一個(gè) MVC 框架 ;
Spring Boot 是為簡化Spring配置的快速開發(fā)整合包;
Spring Cloud是構(gòu)建在Spring Boot之上的服務(wù)治理框架。
這些年做Java開發(fā)我整理了一份完整的java的系統(tǒng)化資料,從Javase- ssm-springcloud,包括了面試題,PDF電子書,網(wǎng)上商城項(xiàng)目,個(gè)人博客項(xiàng)目,分布式項(xiàng)目等都有想學(xué)習(xí)Java或者轉(zhuǎn)行,大學(xué)生都非常實(shí)用,無任何套路免費(fèi)提供,這里先分享一些初學(xué)者能用到的基礎(chǔ)學(xué)習(xí)資料以及一些面試題,大家想要更多資料可以在評(píng)論下方留言
適合初學(xué)者學(xué)習(xí)的2021最新Java學(xué)習(xí)視頻,書籍,面試題,PDF文檔,都是經(jīng)典干貨!