JavaWeb——Web入门(1/9)-Spring Boot Web介绍(Spring家族,Spring Boot)

目录

Spring家族

Spring Boot


在我们了解完了 Maven 这款项目构建工具的基本使用之后,接下来我们正式的进入到 Web 后端开发的学习。

第一篇章要了解的是 Spring Boot Web 的入门。

在正式开始之前,我们先需要介绍一下什么是 Spring 以及什么是 Spring Boot。

我们先来介绍一下 Spring。

Spring家族

  • 官网:spring.io
  • Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。

Spring 的官方网站是 spring.io。我们可以直接访问这个官方网站看一下。

官方网站打开之后,我们直接看最上面第一栏,有一个叫 Why Spring,我们为什么要选择 Spring。我们点击第一项 Overview 来看一下官方的描述。

Spring 是让 Java 程序更快、更容易、更安全。后面又提到 Spring 聚焦于速度、简洁性以及生产力,并且使它已经成为全世界最流行的 Java 框架。这里并没有说之一。通过这句话我们就足以认识到 Spring 在整个 Java 框架当中的地位。

其实,Spring 官方给我们提供了很多的项目。我们可以点击上面的 Projects,然后点击 Overview 来看一下。

打开之后,在上面这一块又有一段英文的描述。

从配置到安全,从外部应用到大数据,无论你构建的是一个什么样的应用程序,都有一个 Spring 的项目帮助你构建它。下面基本上就是按照目前的流行程度,罗列出了 Spring 家族的各个子项目。我们会看到有很多。

简单来介绍一下。

首先第一个就是当前最为流行、最受欢迎的 Spring Boot。基于 Spring Boot 呢,就可以快速方便地构建出一个 Spring 应用程序。

第二个部分,是 Spring Framework,这个也就是 Spring 框架,是整个 Spring 家族当中最为底层、最为基础的一个框架。

再往下走,就是 Spring Data,这个里面封装了一系列访问数据库的技术。

再往下,就是 Spring Cloud,这个 Spring Cloud ,也是我们后面要重点学习的一个框架,用来构建微服务项目。以及下面的 Spring Security 等安全框架。

我们会发现 Spring 发展到今天,已经不再是一个简简单单的技术,而是形成了一种开发生态圈。Spring 家族提供了若干个子项目,每一个子项目,都能够完成特定的功能,来解决特定领域的问题。

而我们在开发一个项目的时候,会遇到各种各样的业务场景,我们会根据业务开发的需要,去选择对应的技术,从而来简化以及解决对应的业务难题。

在现在的企业开发当中,开发人员更喜欢偏向于在项目当中选择 Spring 家族提供的这一系列的解决方案

为什么呢?因为这些框架它都是属于 Spring 体系内的框架,框架之间的整合会非常的容易,甚至可以说是无缝衔接。所以这是当前企业开发当中非常流行也是非常受欢迎的一种解决方案,被我们亲切的称为 Spring 全家桶

Spring Boot

Spring 家族开发的这么多子项目,其实它都是基于一个基础框架的,也就是这个 Spring Framework,Spring 框架。

这是一个比较基础的底层框架,可见其重要性。而如果在项目当中,我们直接基于 Spring 框架来进行项目的开发,又会存在两大问题。

  • 第一大问题配置繁琐
  • 第二大问题就是入门难度比较大。

所以 Spring 家族后来意识到了这一点之后,又非常人性化的推出了大名鼎鼎的 Spring Boot。而基于 Spring Boot 就可以快速地来开发一个 Spring 的应用程序。

在 Spring Boot 介绍这里也提到了 as quickly as possible,尽可能快地来构建一个 Spring 应用。所以这个 Spring Boot ,它只是简化了 Spring 应用的配置,它的底层还是 Spring,它只是简化了 Spring 的开发而已。

我们一句话来总结一下这个 Spring Boot 框架。Spring Boot 是 Spring 家族的一个子项目,可以帮助我们非常快速地构建 Spring 应用程序,简化 Spring 应用程序的配置开发,从而提高开发效率。

基于此呢,我们后端 Web 开发的学习,也是直接从 Spring Boot 开始,并且 Spring Boot 会贯穿整个体系。这也是 Spring 官方给我们推荐的学习路径。

我们不妨来打开官方网站一起来看一下。我们要学习 Spring,那大家再来看一下上面第二栏,有个 learn,我们点击这里有一个快速开始 quick start,点击一下。

点击进来之后,这里呢就告诉我们了怎么样快速的构建一个 Spring 的应用。

这里第一步,官方就告诉我们,我们可以直接去创建一个新的 Spring Boot 项目。

然后第二步,在 Spring Boot 项目当中,再去加入我们自己的代码。

所以官方也是推荐直接从 Spring Boot 开始。这是第一点原因:官方推荐

第二点原因,就是在现在的企业开发当中,企业为了降低开发成本,提高开发效率,现在绝大部分的项目都是直接基于 Spring Boot 进行开发的。

所以这也是当前企业最为主流的开发方式。我们紧跟市场发展的潮流,从 Spring Boot 开始,并且 Spring Boot 贯穿始终。

那简单介绍了 Spring 家族以及 Spring Boot 之后,后面要正式地进入到 Web 后端开发的学习。首先,先来介绍一下学习安排。

主要讲解三个方面。第一个方面,先基于 Spring Boot 来完成 Web 开发的一个入门程序,让大家快速感受一下 Web 程序的开发,并且也体验一下 Spring Boot 进行 Web 开发的便捷性。第二个方面,我们需要重点介绍一下 Web 开发当中比较核心的一块内容,HTTP 协议。第三个部分再来讲解 Web 服务器。


END


来自:黑马程序员——JavaWeb课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902409.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

H3C Hybrid 实验

实验拓扑 图 1-1 注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为…

【NOI】C++函数入门二(自定义函数)

文章目录 前言一、概念1.导入1.1 首先什么是函数呢? 2.函数分类3.为什么要定义函数呢?4.函数结构5.函数使用注意事项 二、例题讲解问题:1137 - 纯粹素数问题:1258 - 求一个三位数问题:1140 - 亲密数对问题:…

Flutter仿京东商城APP实战 用户中心基础布局

用户中心界面 pages/tabs/user/user.dart import package:flutter/material.dart; import package:jdshop/utils/zdp_screen.dart; import package:provider/provider.dart;import ../../../store/counter_store.dart;class UserPage extends StatefulWidget {const UserPage…

如何在Node.js中执行解压缩文件操作

一、解压文件 1.安装依赖: 安装adm-zip依赖包:npm install adm-zip --save 安装iconv-lite依赖包:npm install iconv-lite --save 解压前的file文件夹结构: update-1.0.2.zip压缩包内容: 2.在depresssFile.js文件&…

Vue学习笔记(六)

模板引用(获取DOM 操作) 虽然Vue的声明性渲染模型为你抽象了大部分对DOM的直接操作&#xff0c;但在某些情况下&#xff0c;我们仍然需要直接访问底层DOM元素。要实现这一点&#xff0c;我们可以使用特殊的refattribute。 挂载结束后引用都会被暴露在this.$refs之上。 <s…

华为原生鸿蒙操作系统:我国移动操作系统的新篇章

华为原生鸿蒙操作系统&#xff1a;我国移动操作系统的新篇章 引言 在移动操作系统领域&#xff0c;苹果iOS和安卓系统一直占据主导地位。然而&#xff0c;随着华为原生鸿蒙操作系统的正式发布&#xff0c;这一格局正在发生深刻变化。作为继苹果iOS和安卓系统后的全球第三大移动…

android studio编译错误提示无法下载仓库

一、调整方法之一 buildscript {repositories {google()jcenter()//maven { url https://maven.aliyun.com/repository/google }//maven { url https://maven.aliyun.com/repository/central }}dependencies {// classpath "com.android.tools.build:gradle:4.1.1"c…

Prompt Engineering (Prompt工程)

2 prompt工程2大原则 2.1 给出清晰&#xff0c;详细的指令 策略1&#xff1a;使用分割符清晰的指示输出的不同部分&#xff0c;比如"",<>,<\tag>等分隔符 策略2&#xff1a;指定一个结构化的输出&#xff0c;比如json,html等格式 策略3&#xff1a;要…

C++STL之stack

1.stack的使用 函数说明 接口说明 stack() 构造空的栈 empty() 检测 stack 是否为空 size() 返回 stack 中元素的个数 top() 返回栈顶元素的引用 push() 将元素 val 压入 stack 中 pop() 将 stack 中尾部的元素弹出 2.stack的模拟实现 #include<vector> namespace abc { …

监控-08-skywalking监控告警

文章目录 前言一、准备二、配置skywalking2.1 修改alarm-settings.yml2.2 重启skywalking 三、收到告警邮件总结 前言 skywalking根据监控规则&#xff0c;通过webhook调后端微服务接口&#xff0c;从而发送告警邮件。 一、准备 根据上几章内容&#xff0c;保证skywalking能监…

Spring IoC DI

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多数据结构知识 目录 1. 应用分层 1.1 如何分层: 1.2 MVC与三层架构区别联系 2. Spring 3.IoC & DI⼊⻔ 3.1 什么是IoC&#xff1f; 3.2 DI 介绍 …

CANFD SSP第二采样点引发的“风波”分析

案例背景&#xff1a; 近几年来&#xff0c;主机厂逐渐大范围使用CANFD通信。在CAN网络中&#xff0c;因SSP第二采样点引发的错误帧偶有发生&#xff0c;所以在主机厂的SPEC需求中&#xff0c;明确要求启用CAN控制器的TDC收发器延迟补偿&#xff0c; 目录 1 CANFD的SSP第二采…

【设计模式】《Java 设计模式魔法:解锁高效编程的秘密武器》

标题&#xff1a;《Java 设计模式奇幻之旅&#xff1a;解锁高效编程的魔法钥匙》 摘要&#xff1a; 本文将深入探讨 Java 中的十种设计模式&#xff0c;包括单例模式、工厂方法模式、抽象工厂模式…迭代器模式、组合模式、模板方法模式等。通过详细的解释、生动有趣的例子以及…

【skywalking 】选择Elasticsearch存储

介绍 skywalking支持 Elasticsearch 和 OpenSearch 作为存储。 OpenSearch 是 ElasticSearch 7.11 的一个分支&#xff0c;但在 Apache 2.0 中获得许可。 OpenSearch 存储与 ElasticSearch 共享相同的配置。为了激活 OpenSearch 作为存储&#xff0c;请将存储提供程序设置为e…

Python4

4. 更多控制流工具 除了刚介绍的 while 语句&#xff0c;Python 还用了一些别的。我们将在本章中遇到它们。 4.1. if 语句 if elif else if x<0: x 0 print(Negative changed to zero) elif x0: print( zero) else: print(More) 4.2. for 语句 Pyth…

Mybatis的关联关系-多对多

在进行数据库原理的时候&#xff0c;我们将E-R图的实体转化为我们的表时&#xff0c;有时要考虑到多对多的关系。比如下图&#xff1a; 我们可以转化为下面的表&#xff1a; 因为User和Orders是1:n的关系&#xff0c;所以Orders有一个外键。 t_orders表 idnumberuser_id(外键…

uniapp使用easyinput文本框显示输入的字数和限制的字数

uniapp使用easyinput文本框显示输入的字数和限制的字数 先上效果图&#xff1a; 整体代码如下&#xff1a; <template><view class"nameInfoContent"><uni-easyinput class"uni-mt-5" suffixIcon"checkmarkempty" v-model&quo…

Redis 事务 总结

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 事务 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 事务 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis & 事务…

基础数据结构及算法——AVL树【自平衡二叉搜索树】解决失衡

历史 AVL 树是一种自平衡二叉搜索树&#xff0c;由托尔哈斯特罗姆在 1960 年提出并在 1962 年发表。它的名字来源于发明者的名字&#xff1a;Adelson-Velsky 和 Landis&#xff0c;他们是苏联数学家&#xff0c;于 1962 年发表了一篇论文&#xff0c;详细介绍了 AVL 树的概念和…

VoLTE 微信令:SBC 功能篇之 超长呼叫释放信令流程

目录 1. SBC 的位置及超长呼叫释放功能简介 2. VoLTE 超长通话,SBC 释放呼叫流程 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历,模拟面试,学习指导都可以添加博主低价指导哈。 1. SBC 的位置及…