Spring Boot教程之Spring Boot简介

ops/2024/11/19 22:17:02/

Spring Boot 简介

接下来一段时间,我会持续发布并完成Spring Boot教程

Spring 被广泛用于创建可扩展的应用程序。对于 Web 应用程序,Spring 提供了 Spring MVC,它是 Spring 的一个广泛使用的模块,用于创建可扩展的 Web 应用程序。但主要

Spring 项目的缺点是配置非常耗时,对于新开发人员来说可能有点难以承受。

如果您是 Spring 新手,则需要花一些时间才能使应用程序投入生产。解决方案是

Spring Boot

Spring Boot 建立在 Spring 之上,包含 Spring 的所有功能。它现在越来越受到开发人员的青睐,因为它是一个快速的生产就绪环境,使开发人员能够直接专注于逻辑,而不必费力配置和设置。Spring Boot 是一个基于微服务的框架,在其中创建生产就绪的应用程序所需的时间非常少。Spring Boot 的先决条件是 Spring 框架的基本知识。

Spring Boot 的特点

Spring Boot 建立在传统的 Spring 框架之上。因此,它提供了 Spring 的所有功能,并且比 Spring 更易于使用。

  • 它允许避免 Spring 中存在的繁重的 XML 配置:与Spring MVC 项目 不同,在 Spring Boot 中一切都是自动配置的。我们只需要使用适当的配置来利用特定的功能。 例如:如果我们想使用Hibernate(ORM),那么我们可以在模型/实体类上方添加@Table 注释(稍后讨论),并添加@Column 注释以将其映射到数据库中的表和列
  • 它提供了 REST 端点的轻松维护和创建:在 Spring Boot 中创建REST API非常容易。只需在控制器类上使用注释@RestController和@RequestMapping(/endPoint)即可。
  • 它包括嵌入式 Tomcat 服务器:与Spring MVC 项目 不同,我们必须手动添加和安装 tomcat 服务器,而 Spring Boot 带有嵌入式 Tomcat 服务器,以便应用程序可以托管在其上。
  • 部署非常简单,war 和 jar 文件可以轻松部署在 tomcat 服务器中:warjar文件可以直接部署在 Tomcat 服务器上,Spring Boot 提供了将我们的项目转换为 war 或 jar 文件的功能。此外,Tomcat 实例也可以在云上运行。
  • 基于微服务的架构:顾名思义,微服务是指专注于单一类型功能并公开 API(应用程序外围接口)的模块/服务的名称。让我们以医院管理系统为例。
    • 对于单片系统,单一代码将包含所有功能,而这些功能在大规模下很难维护。
    • 但是在基于微服务的系统中,每个功能可以分为更小的子系统,如处理患者注册的服务、处理数据库管理的服务、处理计费的服务等。

    基于微服务的系统可以轻松迁移,因为只需要更改一些服务,这也使调试和部署变得容易。此外,每个服务都可以集成,并且可以采用适合它们的不同技术。

Spring Boot 的演变

  1. Spring Boot 的诞生,源于 2012 年 10 月,一位客户Mike Youngstrom提出了一个 Jira 请求,要求引导 Spring 框架,以便能够快速启动。因此,2013 年初,Spring Boot 诞生了。
  2. 2014 年 4 月,Spring Boot 1.0发布,随后又推出了多个版本。
  3. 2014 年 6 月发布Spring Boot 1.1
  4. 1.2 2015年3月,
  5. 1.3 2016年12月,
  6. 2017 年 1 月为1.4 ,
  7. 2017 年 2 月发布Spring Boot 1.5

Spring Boot 架构

为了了解 Spring Boot 的架构,我们首先了解其中存在的不同层和类。

  • Spring Boot 中的层: Spring Boot 中有四个主要层:
    • 表示层:顾名思义,它由视图(即前端部分)组成
    • 数据访问层:数据库上的 CRUD(创建、检索、更新、删除)操作属于此类别。
    • 服务层:由服务类组成并使用数据访问层提供的服务。
    • 集成层:它由不同的 Web 服务组成(任何可通过互联网提供的服务并使用XML消息传递系统)。
  • 然后我们有实用程序类、验证器类和视图类。
  • 所有类提供的服务都在其相应的类中实现,并通过实现对这些接口的依赖来检索。

Spring Boot 流程架构


  • 由于 Spring boot 使用了类似 Spring data、 Spring MVC的所有功能/模块,因此其架构几乎与 spring MVC 相同,只是 Spring boot 中不需要DAODAOImpl 类
  • 创建数据访问层只需要一个存储库类,该类是实现包含 CRUD 操作的类。
  • 客户端发出 https 请求(PUT/GET)
  • 然后它转到控制器,并且将该路由映射到请求的控制器处理它,并在需要时调用服务逻辑。
  • 业务逻辑在服务层执行,该服务层可能对数据库中的数据执行逻辑,该逻辑通过 JPA 与模型/实体类映射
  • 最后,如果没有发生错误,则响应中返回一个 JSP 页面。

设置 Spring Boot:

  1. 从Oracle 官方网站安装Java JDK。
  2. 下载并安装 Spring Tool Suite (STS)。
  3. 启动一个新的 Spring Starter 项目
    • 点击文件 -> 新建 -> Spring 启动项目
    • 填写适当的详细信息并添加依赖项并完成。
    • 编辑应用程序属性。
    • 将主文件作为 Java 应用程序运行。


http://www.ppmy.cn/ops/135078.html

相关文章

笔记02----重新思考轻量化视觉Transformer中的局部感知CloFormer(即插即用)

1. 基本信息 论文标题: 《Rethinking Local Perception in Lightweight Vision Transformer》中文标题: 《重新思考轻量化视觉Transformer中的局部感知》作者单位: 清华大学发表时间: 2023论文地址: https://arxiv.org/abs/2303.17803代码地址: https://github.com/qhfan/CloF…

【设计模式】入门 23 种设计模式(代码讲解)

入门 23 种设计模式(代码讲解) 1.创建型模式2.适配器模式3.行为型模式 设计模式是在软件设计中反复出现的问题的 通用解决方案。它们是经过多次验证和应用的指导原则,旨在帮助软件开发人员解决特定类型的问题,提高代码的可维护性、…

网络安全检测技术

一,网络安全漏洞 安全威胁是指所有能够对计算机网络信息系统的网络服务和网络信息的机密性,可用性和完整性产生阻碍,破坏或中断的各种因素。安全威胁可分为人为安全威胁和非人为安全威胁两大类。 1,网络安全漏洞威胁 漏洞分析的…

动手学深度学习70 BERT微调

1. BERT微调 2. 自然语言推理数据集 3. BERT微调代码 4. QA 9 10, 一般不固定,固定参数可以使训练速度加快,可以尝试 11 应该能 12 本身很快技术细节–>精度高 13 bert一般可以用工具转成c 开销大。考虑怎么提升bert性能。 14 设备性能不高&#xf…

kafka基础

文章目录 一、Kafka入门1.1、JMS1.2、生产者-消费者模式1.3、ZooKeeper 二、kafka基础架构2.1、producer2.2、kafka cluster2.2.1、broker2.2.2、Controller2.2.3、Topic2.2.4、Partition2.2.5、Replication2.2.6、Leader & Follower 2.3、consumer 一、Kafka入门 Kafka是一…

汽车资讯新视角:Spring Boot技术革新

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

飞牛云fnOS本地部署WordPress个人网站并一键发布公网远程访问

文章目录 前言1. Docker下载源设置2. Docker下载WordPress3. Docker部署Mysql数据库4. WordPress 参数设置5. 飞牛云安装Cpolar工具6. 固定Cpolar公网地址7. 修改WordPress配置文件8. 公网域名访问WordPress 前言 本文旨在详细介绍如何在飞牛云NAS上利用Docker部署WordPress&a…

SQL 窗口函数

窗口函数用于在不改变查询结果集行数的情况下,对每一行执行聚合计算或其他复杂的计算,可以跨行计算。 随着窗口函数的出现,无须再使用关联子查询。窗口函数的可读性很好,代码也很简洁。 1 实践 1.1 营业额年度变化 需求&#…