Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?

server/2024/12/2 1:12:59/

简单介绍:

Spring 乃是一个轻量级的控制反转(IoC)与面向切面(AOP)的容器框架。Spring 能够助力您编写出更为纯净、更具可管理性且更易于测试的代码。

Spring MVC 系 Spring 的一个模块,亦为一个网络框架。借由 Dispatcher Servlet、ModelAndView 以及 View Resolver,开发网络应用变得轻而易举。

其主要针对的乃是网站应用程序亦或服务开发——诸如 URL 路由、Session、模板引擎、静态网络资源等等。

Spring 配置繁杂且琐碎,正因如此,推出了 Spring boot,秉持约定优于配置之理念,简化了 Spring 的配置流程。Spring Cloud 构建于 Spring Boot 之上,乃是一个着眼全局的服务治理框架。

Spring VS SpringMVC:

Spring 乃是一个一站式的轻量级 Java 开发框架,其核心为控制反转(IOC)与面向切面(AOP)。针对开发的 WEB 层(SpringMvc)、业务层(Ioc)、持久层(jdbcTemplate)等,皆提供了多样的配置解决之方案。SpringMVC 系基于 Spring 之上的一个 MVC 框架,主要司职于 Web 开发的路径映射与视图渲染,归属于 Spring 框架中 WEB 层开发的一部分。

SpringMVC VS 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 之上的服务治理框架。


http://www.ppmy.cn/server/146583.html

相关文章

Spark SQL大数据分析快速上手-完全分布模式安装

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 大数据与数据分析_夏天又到了的博客-CSDN博客 Hadoop完全分布式环境搭建步骤-CSDN博客,前置环境安装参看此博文 完全分布模式也叫集群模式。将Spark目…

Easyexcel(7-自定义样式)

相关文章链接 Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出)Easyexcel(4-模板文件)Easyexcel(5-自定义列宽)Easyexcel(6-单…

GPT(Generative Pre-trained Transformer) 和 Transformer的比较

GPT(Generative Pre-trained Transformer) 和 Transformer 的比较 flyfish 1. Transformer 是一种模型架构 Transformer 是一种通用的神经网络架构,由 Vaswani 等人在论文 “Attention Is All You Need”(2017)中提…

YOLO模型训练后的best.pt和last.pt区别

在选择YOLO模型训练后的权重文件best.pt和last.pt时,主要取决于具体的应用场景‌:‌12 ‌best.pt‌:这个文件保存的是在训练过程中表现最好的模型权重。通常用于推理和部署阶段,因为它包含了在验证集上表现最好的模型权重&#x…

Rust赋能前端: 纯血前端将 Table 导出 Excel

❝ 人的本事靠自己,人的成长靠网络 大家好,我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder ❝ 此篇文章所涉及到的技术有 Rust( Rust接收json对象并解析/Rust生成xml) WebAssembly 表格合并(静态/动态) React/Vue表格导出 excel Rspac…

Maven Surefire 插件简介

Maven Surefire 插件是 Maven 构建系统中的一个关键组件,专门用于在构建生命周期中执行单元测试。 它通常与 Maven 构建生命周期的测试阶段绑定,确保所有单元测试在项目编译后和打包前被执行。 最新版本 Maven Surefire 插件的最新版本为 3.5.2。 使…

深入解析 PyTorch 的 torch.load() 函数:用法、参数与实际应用示例

深入解析 PyTorch 的 torch.load() 函数:用法、参数与实际应用示例 函数 torch.load() 是一个在PyTorch中用于加载通过 torch.save() 保存的序列化对象的核心功能。这个函数广泛应用于加载预训练模型、模型的状态字典(state dictionaries)、…

C++11 http服务端和客户端库cpp-httplib

C11 http服务端和客户端库cpp-httplib 环境: http: yhirose/cpp-httplib v0.18.1 json: nlohmann/json v3.11.31. 简介 cpp-httplib 是一个轻量级且易于使用的 C11 HTTP 库,由 yhirose 开发和维护,开源协议为MIT。它支持 HTTP/HTTPS 协议&…