当前位置: 首页 > news >正文

【JavaEESpring】Spring, Spring Boot 和Spring MVC的关系以及区别

Spring, Spring Boot 和Spring MVC的关系以及区别

Spring:简单来说,Spring 是一个开发应用框架,什么样的框架呢?轻量级、一站式、模块化,其目的是用于简化企业级应用程序开发

Spring的主要功能: 管理对象, 以及对象之间的依赖关系, 面相切面编程, 数据库事务管理, 数据访问, web框架支持等;
但是Spring具备高度可开放性, 并不强制依赖 Spring, 开发者可以自由选择Spring的部分或者全部, Spring可以无缝继承第三方框架, 比如数据访问框架(Hibernate, JPA), web 框架(如Struts, JSP)

Spring MVC: Spring MVC 是Spring的一个子框架, Spring诞生之后, 大家都觉得很好用, 于是按照MVC模式设计了一个MVC框架(一些用Spring解耦的组件), 主要用于开发web应用的网络接口, 所以, Spring MVC 是一个web框架;

SpringMVC 基于Spring 进行开发的, 天生的与Spring 框架继承, 可以让我们更简洁的进行 web 层开发, 支持灵活的 URL 到页面控制器的映射, 提供了强大的约定大于配置的契约式编程支持, 非常容易与其他视图框架集成, 如 Velocity, FreeMarker等

Spring Boot: Spring Boot是对Spring的一个封装, 为了简化Spring应用的开发而出现的, 中小型企业, 没有成本研究自己的框架, 使用 Spring Boot 可以更加快速的搭建框架, 降低开发成本, 让开发人员更加专注于Spring应用的开发, 而无需过多关注xml配置和一些底层的实现

Spring Boot 是一个脚手架, 插拔是搭建项目, 可以快速的集成其他框架进来;
比如想使用SpringBoot开发web项目, 只需要引入SpringMVC框架即可, web开发的工作是SpringMVC完成的, 而不是SpringBoot, 想要完成数据访问, 只需要引入Mybatis框架即可
SpringBoot只是辅助简化项目开发的, 让开发变得更加简单, 甚至不需要额外的web服务器, 直接生成jar包执行即可

最后⼀句话总结: Spring MVC和Spring Boot都属于Spring,Spring MVC 是基于Spring的⼀个MVC 框架,⽽Spring Boot 是基于Spring的⼀套快速开发整合包.

在这里插入图片描述

相关文章:

【JavaEESpring】Spring, Spring Boot 和Spring MVC的关系以及区别

Spring, Spring Boot 和Spring MVC的关系以及区别 Spring:简单来说,Spring 是一个开发应用框架,什么样的框架呢?轻量级、一站式、模块化,其目的是用于简化企业级应用程序开发 Spring的主要功能: 管理对象, 以及对象之…...

【网络编程】传输层——TCP协议

文章目录 TCP协议TCP协议格式窗口大小六个标志位确认应答机制超时重传机制连接管理机制三次握手四次挥手 流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP小结基于TCP的应用层协议TCP与UDP的对比 TCP相关实验CLOSE_WAIT状态实验TIME_WAIT状态实验TI…...

【数据结构与算法】如何衡量一个算法的好坏?

目录 1. 算法复杂度1.1 时间复杂度1.2 大O渐进表示法1.2.1 例子引入推导大O法1.2.2 举例 1.3 空间复杂度1.3.1 细分1.3.2 举例 2.什么是好的算法?3. 影响程序运行时间的因数 1. 算法复杂度 算法在编写成可执行程序后,运行时需要耗费时间资源和内存资源 。…...

在PostgreSQL中创建和管理数据库

PostgreSQL是一个强大、开源的关系型数据库管理系统,它提供了丰富的功能和灵活的配置选项,使得它成为许多开发者和组织的首选数据库之一,接下来我会介绍如何在PostgreSQL中创建和管理数据库。 一、安装和配置PostgreSQL 第一步,…...

从哪些方面做好电商系统的网站建设?

电子商务的迅猛发展,建设一款成功的电商系统网站成为企业取得竞争优势的重要一环。下面将从用户体验、网站设计、安全性和性能优化等方面,介绍如何打造一款优秀的电商系统网站。 一、用户体验 一款成功的电商系统网站必须注重用户体验,确保用…...

C++的Odyssey之旅——STL

W...Y的主页 😊 代码仓库分享💕 🍔前言:我们已经将基本语法了解的差不多了,现在我们就该进入C中最重要也是最富有特点的一部分——STL。在学习C语言中我们想要使用顺序表、链表等一些数据结构进行做题时都需要进行这…...

μC/OS-II---内核:多任务与调度

目录 内核:多任务(ucos_ii.h文件的函数)Task创建Task创建(扩展)Task删除/请求删除Task改变Task优先级Task挂起和恢复Task信息获取Task调度器上锁和开锁 内核:调度(oc_core.c文件的函数&#xff…...

【紫光同创国产FPGA教程】——PDS安装教程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 一:软件简介 PangoDesign Suite是紫光同创基于多年FPGA开发软件技术攻关与工程实践经验而研发的一款拥有国产自主知识产权的大规模FPGA开…...

基于Fuzzing和ChatGPT结合的AI自动化测试实践分享

一、前言 有赞目前,结合insight接口自动化平台、horizons用例管理平台、引流回放平台、页面比对工具、数据工厂等,在研发全流程中,已经沉淀了对应的质量保障的实践经验,并在逐渐的进化中。 在AI能力大幅进步的背景下&#xff0c…...

基于Jaccard相似度的推荐算法---示例

目录 数据展示推荐算法的分类基于相似度基于流行度/上下文/社交网络 Jaccard相似度分析数据的特点可以考虑的方法计算方法优缺点计算用户之间的Jaccard相似度获取与给定最相似的10个用户对1713353的用户推荐10本书 数据展示 import pandas as pd import numpy as np# 读取CSV文…...

基于指数分布算法的无人机航迹规划-附代码

基于指数分布算法的无人机航迹规划 文章目录 基于指数分布算法的无人机航迹规划1.指数分布搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用指数分布算法来优化无人机航迹规划。 …...

vite基础学习笔记:13.Dialog 对话框 (用户注册与登录)

说明:自学做的笔记和记录,如有错误请指正 1. Dialog 对话框组件 目标效果:点击“登录/注册”,弹框 (1)创建全局组件,在官网中查询代码粘贴 (2) 注册和使用全局组件 &a…...

RedisTemplate 使用 pipeline 时需要注意的问题

RedisTemplate 使用 pipeline 时需要注意的问题 RedisTemplate 使用 pipeline 进行批量 set 时,需要把 key 和 value 都转为字节 1. 直接使用 getBytes() 转为字节,在读取数据时,会抛出以下序列化异常 //错误代码 protected void process(…...

uniapp 下载文件到手机

下载后端传递过来的文件 let thil this uni.showLoading({title: 下载中,mask:true }) uni.downloadFile({url: 接口地址, //仅为示例,并非真实的资源header: {"Authorization": token},responseType: blob,success: (res) > {if (res.statusCode 2…...

使用Drupal管理小型项目?试试Docker快速部署Drupal结合内网穿透实现远程访问

🎬 鸽芷咕:个人主页 🔥个人专栏:《Linux深造日志》《C干货基地》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal…...

BSP-STM32移植FreeRTOS

在stm32裸机工程中的Middlewares目录添加freeRtos源码 在裸机工程中的main中调用freertos接口...

【Spring】Spring IOCDI(万字详解)

文章目录 1. Spring是什么?2. 认识IOC2.1 传统程序开发1. Main.java2. Car.java3. Framework.java4. Bottom.java5. Tire.java 2.2 分析传统开发2.3 IOC程序开发1. Main.java2. Car.java3. Framework.java4. Bottom.java5. Tire.java 2.4 分析IOC开发2.5 IOC容器优点…...

ts 使用泛型来做类型映射

使用泛型来做类型映射&#xff0c;将对象(或数组)中类型转换为另一个类型 首先&#xff0c;定义一个类型Student // 定义一个类型Studentinterface Student {name: string,age: number}1、把Student的所有属性都变为可空的 type Nullable<T> {[p in keyof T]: T[p] || …...

Compose - 使用 Paging

一、添加依赖 查看官方最新版本 val paging_version "3.2.1" implementation("androidx.paging:paging-runtime:$paging_version") implementation("androidx.paging:paging-compose:$paging_version") 二、定义数据源 PagingSource 是对其它…...

数据结构与算法-(11)---有序表(OrderedList)

&#x1f308;个人主页: Aileen_0v0 &#x1f525;系列专栏:PYTHON学习系列专栏 &#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 知识回顾及总结 有序表的引入 ​编辑 实现有序表 1.有序表-类的构造方法 2.有序表-search方法的实现 3.有序表-add方法的实现…...

AI设计:核心概念、工具与行业应用指南

AI设计正在重塑创意产业的格局。从Midjourney的惊艳画作到Stable Diffusion的本地部署&#xff0c;生成式AI让设计师获得了前所未有的创意自由度。这场技术变革深刻影响着设计工作的每一个环节&#xff0c;也引发了从业者的广泛讨论&#xff1a;当AI能够批量产出设计方案时&…...

语义分割调参避坑:你的ASPP模块dilation rate选对了吗?PyTorch实验对比告诉你答案

语义分割调参实战&#xff1a;ASPP模块dilation rate选择的科学方法与PyTorch验证 在Cityscapes数据集上训练DeepLabv3模型时&#xff0c;我发现一个奇怪现象&#xff1a;当把ASPP模块的dilation rate从[6,12,18]调整为[12,24,36]后&#xff0c;mIoU指标反而下降了2.3%。这个反…...

FPGA当交换机?基于10G Ethernet Subsystem主从模式实现多光口UDP转发实战

FPGA构建10G以太网交换机的核心技术解析与实现 在高速网络设备开发领域&#xff0c;FPGA正逐渐成为传统ASIC和商用交换芯片的有力替代方案。本文将深入探讨如何利用Xilinx 7系列FPGA的10G Ethernet Subsystem IP核&#xff0c;构建一个具备多端口数据交换能力的硬件平台。不同于…...

Power BI学习笔记第19篇:面试题汇总 · 第二篇:数据建模与 DAX 篇

Power BI学习笔记第19篇&#xff1a;面试题汇总 第二篇&#xff1a;数据建模与 DAX 篇数据建模和 DAX 是区分"会用 Power BI"和"真正懂 Power BI"的分水岭。面试官问到这两块&#xff0c;眼睛都在放光——因为答不好的人太多了。第 1 题&#xff1a;什么是…...

别再说LIN过时了!手把手教你用AUTOSAR MCAL配置LIN驱动(基于EB Tresos实战)

别再说LIN过时了&#xff01;手把手教你用AUTOSAR MCAL配置LIN驱动&#xff08;基于EB Tresos实战&#xff09; 在汽车电子领域&#xff0c;每当讨论车载网络协议时&#xff0c;CAN、FlexRay甚至以太网总是占据话题中心&#xff0c;而LIN总线却常被贴上"过时"或"…...

MPC Video Renderer终极指南:深度解析DirectShow视频渲染技术实现

MPC Video Renderer终极指南&#xff1a;深度解析DirectShow视频渲染技术实现 【免费下载链接】VideoRenderer Внешний видео-рендерер 项目地址: https://gitcode.com/gh_mirrors/vi/VideoRenderer MPC Video Renderer是一款开源的高性能DirectSho…...

内核代码学习

核心层&#xff1a; kernel&#xff0c; IPC MM FS NET架构层&#xff1a; arch include&#xff0c;通用头文件驱动与工具&#xff1a; drivers&#xff0c;char、block、usb、i2cuart辅助 Documentation lib samples init scripts定位内核入口 init/main.c/start_kernel()chi…...

如何彻底解决微信QQ消息撤回难题:Windows平台防撤回与多开终极指南

如何彻底解决微信QQ消息撤回难题&#xff1a;Windows平台防撤回与多开终极指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https:…...

别再乱加标签了!重组蛋白实验中His、GST、Flag标签到底怎么选?

重组蛋白实验中标签选择的黄金法则&#xff1a;从新手到高手的实战指南 实验室的冰箱门上贴着一张泛黄的便利贴&#xff0c;上面潦草地写着"His还是GST&#xff1f;这是个问题"。这可能是每个刚接触重组蛋白表达的研究生都会经历的困惑时刻。选择不当的标签不仅会浪费…...

想给照片换背景底色?2026 年这几款工具加一个微信小程序的搭配建议

如果你是日常需要处理证件照、产品白底图或社交分享图的人&#xff0c;想搞清楚换背景底色到底怎么操作才不翻车&#xff0c;这篇文章给你三种路径建议&#xff1a;零门槛手机搞定的、追求画质用桌面软件的、以及介于两者之间不需要安装的工具。下面会先拆解一款叫抠图喵的微信…...