Spring Boot 教程之六:Spring Boot - 架构

news/2024/11/23 23:17:30/

Spring Boot - 架构

Spring Boot建立在核心Spring框架之上。它是 Spring 框架的简化和自动化版本。Spring Boot 遵循分层架构其中每一层都与其他层(按层次顺序位于上方或下方)进行通信。Spring Boot 文档为 Spring Boot 框架提供了以下定义。

Spring Boot 可以轻松创建独立的、基于 Spring 的生产级应用程序,您可以“直接运行”

Spring Boot 的主要目的是从应用程序中删除 XML 和基于注释的配置设置。除此之外,Spring Boot 还提供以下优势,例如自定(稍后更改配置的选项)、约定优于配置、独立和可用于生产环境。

Spring Boot 层

spring boot由以下四层组成:

  1. 表示层——身份验证和 JSON 转换
  2. 业务层——业务逻辑、验证和授权
  3. 持久层-存储逻辑
  4. 数据库层– 实际数据库

Spring Boot 的层次

图 1 – Spring Boot 的层次

1.表示层

表示层是 Spring Boot 架构的顶层。它由视图组成。即应用程序的前端部分。它处理 HTTP 请求并执行身份验证。它负责将 JSON 字段的参数转换为 Java 对象,反之亦然。一旦它执行了请求的身份验证,它就会将其传递到下一层。即业务层。

2.业务层

业务层包含所有业务逻辑。它由服务类组成。它负责验证和授权。

3.持久层

持久层包含所有数据库存储逻辑。它负责将业务对象转换为数据库行,反之亦然。

4.数据库层

数据库层包含所有数据库,如MySql、MongoDB等。此层可以包含多个数据库。它负责执行CRUD操作。

Spring Boot Flow 架构

Spring boot 流程<a class=架构" height="720" src="https://img-blog.csdnimg.cn/img_convert/602ac8e5db88307a87b6af19654acf85.jpeg" style="margin-left:auto;" width="1080" />

图 2 – Spring Boot 流程架构

解释:

  • 客户端发出HTTP请求(GET、PUT、POST 等)
  • HTTP 请求被转发到Controller。控制器映射请求。它处理句柄并调用服务器逻辑。
  • 业务逻辑在服务层执行。Spring Boot 对数据库数据执行所有逻辑,并通过Java 持久性库( JPA ) 映射到 Spring Boot 模型类。
  • JSP页面作为控制器的响应返回。

http://www.ppmy.cn/news/1549393.html

相关文章

Spring 与 Spring MVC 与 Spring Boot三者之间的区别与联系

一.什么是Spring&#xff1f;它解决了什么问题&#xff1f; 1.1什么是Spring&#xff1f; Spring&#xff0c;一般指代的是Spring Framework 它是一个开源的应用程序框架&#xff0c;提供了一个简易的开发方式&#xff0c;通过这种开发方式&#xff0c;将避免那些可能致使代码…

经验笔记:git checkout 与 git switch

Git Checkout 与 Git Switch 引言 在使用 Git 进行版本控制时&#xff0c;git checkout 和 git switch 是两个常用的命令&#xff0c;用于分支管理和文件恢复。虽然它们有一些相似之处&#xff0c;但各自的功能和使用场景有所不同。本文将详细介绍这两个命令的用法、区别和实…

中国【食品检测实验室自动化】程度相对欧美等发达国家相对落后,并且技术层面存在明显的代差,未来有比较大的发展空间

摘要 根据 HengCe 研究团队调研统计&#xff0c;2023年全球食品检测实验室自动化市场销售额达到了 亿元&#xff0c;预计2030年将达到 亿元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为 %&#xff08;2024-2030&#xff09;。中国市场在过去几年变化较快&#xff…

Flink学习连载文档第一篇--Flink集群的安装

Flink支持多种安装模式。 local&#xff08;本地&#xff09;——本地模式 standalone——独立模式&#xff0c;Flink自带集群&#xff0c;开发测试环境使用 standaloneHA—独立集群高可用模式&#xff0c;Flink自带集群&#xff0c;开发测试环境使用 yarn——计算资源统一…

ffmpeg视频滤镜:提取缩略图-framestep

滤镜描述 官网地址 > FFmpeg Filters Documentation 这个滤镜会间隔N帧抽取一帧图片&#xff0c;因此这个可以用于设置视频的缩略图。总体上这个滤镜比较简单。 滤镜使用 滤镜参数 framestep AVOptions:step <int> ..FV....... set frame st…

ubuntu20.04中编译安装gcc 9.2.0

ubuntu20.04中编译安装gcc 9.2.0,步骤如下&#xff1a; #install compile dependence libraries 1&#xff1a;$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2&#xff1a;$ wget http://ftp.gnu.org/gn…

【MySQL】字符集与排序规则

1. 字符集 1.1 一些重要的字符集 1.1.1 ASCII 共收录128个字符&#xff0c;包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符&#xff0c;所以可以使用1个字节来进行编码 1.1.2 ISO-8859-1 共收录 256 个字符&#xff0c;是在 ASCII 字符集的基…

基于LLama_factory的Qwen2.5大模型的微调笔记

Qwen2.5大模型微调记录 LLama-facrotyQwen2.5 模型下载。huggingface 下载方式Modelscope 下载方式 数据集准备模型微调模型训练模型验证及推理模型导出 部署推理vllm 推理Sglang 推理 LLama-facroty 根据git上步骤安装即可&#xff0c;要求的软硬件都装上。 llama-factory运行…