Spring是一个轻量级的控制反转(IOC)和面向切面的容器框架,Spring可以使我们编写的代码更干净、更可管理、并且更易于测试。
SpringMVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet、ModelAndView和View Resoler,使我们开发web应用变得更容易。主要针对的是网站应用程序或者服务开发--URL路由、Session、模板引擎、静态Web资源等等。
Spring配置复杂且繁琐,进而推出了Spring Boot。采用了约定由于配置的原则,简化了Spring的配置流程
Spring Cloud构建于Spring Boot之上,是一个全局的服务治理框架。
Spring与SpringMVC
Spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP)主要针对于开发web层(Spring MVC)、业务层(IOC)、持久层(JDBCTemplate)等提供了多种解决方案。
SPringMVC是Spring基础之上的一个MVC框架,主要处理web开发的路径映射和试图渲染,俗语Spring框架中WEB层开发的一个部分。
SpringMVC与SpringBoot
SpringMVC属于一个企业web开发的mvc框架,涵盖了前端视图开发,文件配置,后台接口逻辑开发等,xml、config等配置相对比较繁琐。
SpringBoot框架相对于SpringMVC框架来说,更专注于微服务系统的后台接口,不开发前端视图。
SpringBoot与SpringCloud
SpringBoot使用了约定大于配置的理念,集成了快速开发的Spring多个插件,同时自动过滤不需要配置的多余插件,简化了项目的开发配置流程,一定程度上取消了XML配置,是一套快速配置开发的脚手架,可以快速开发单个微服务。
SpringCloud大部分的功能插件都是基于SpringBoot去实现的,SpringCloud关注的是全局微服务整合与管理,将多个由SpringBoot开发的单体微服务进行整合与管理。SpringCloud依赖于SpringBoot开发,而SpringBoot可以单独开发。
总结:
Spring是核心,提供了基础的功能。
SpringMVC是基于Spring的一个MVC框架
SpringBoot是为了简化Spring配置的快速开发整合包
SpringCloud是构建在SpringBoot之上的全局服务治理框架。