乐趣区

SpringSpringMVCSpringBootSpringCloud有什么区别和联系

简单介绍

Spring 是一个轻量级的控制反转 (IoC) 和面向切面 (AOP) 的容器框架。Spring 使你能够编写更干净、更可管理、并且更易于测试的代码。

Spring MVC 是 Spring 的一个模块,一个 web 框架。通过 Dispatcher Servlet, ModelAndView 和 View Resolver,开发 web 应用变得很容易。主要针对的是网站应用程序或者服务开发——URL 路由、Session、模板引擎、静态 Web 资源等等。

Spring 配置复杂,繁琐,所以推出了 Spring boot,约定优于配置,简化了 spring 的配置流程。

Spring Cloud 构建于 Spring Boot 之上,是一个关注全局的服务治理框架。

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:

SpringBoot 使用了默认大于配置的理念,集成了快速开发的 Spring 多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消 xml 配置,是一套快速配置开发的脚手架,能快速开发单个微服务;

SpringCloud 大部分的功能插件都是基于 SpringBoot 去实现的,SpringCloud 关注于全局的微服务整合和管理,将多个 SpringBoot 单体微服务进行整合以及管理;SpringCloud 依赖于 SpringBoot 开发,而 SpringBoot 可以独立开发;

总结下来:

  • Spring 是核心,提供了基础功能;
  • Spring MVC 是基于 Spring 的一个 MVC 框架;
  • Spring Boot 是为简化 Spring 配置的快速开发整合包;
  • Spring Cloud 是构建在 Spring Boot 之上的服务治理框架。
退出移动版