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

JavaEE-SpringBoot快速入门

文章目录

  • 本节目标
  • Maven
    • 什么是Maven
    • 创建一个Maven项目
    • maven项目功能
    • maven的依赖管理
    • 全球仓库, 私服, 本地服务器, 配置国内镜像
  • 第一个SpringBoot项目
    • 创建项目
    • 运行SpringBoot程序
  • SpringBoot原理初步
    • Web服务器
  • 总结

本节目标

  • 了解什么是maven, 配置国内源
  • 使用Springboot创建项目

关于环境准备, 由于社区版的限制过多, 所以建议直接上专业版, 因为专业版是收费的, 所以你可以采用一些 “科技” 手段来绕开…, 我们下面提供一些途径
教程链接


Maven

什么是Maven

maven就是一个项目管理工具, 基于POM(Project Object Model, 项目对象模型)的概念, 通过一小段信息的描述, 来进行项目的管理与创建

简单点说就是Maven是一个项目管理工具, 通过POM.xml配置文件添加jar包(也就是添加依赖), 而不是手动的添加jar包, 其实我们在JDBC的那一篇章也学习过Maven, 我们这里只是做一个简单的复习


创建一个Maven项目

早期的时候, 我们需要手动的添加Maven, 但是现在, idea已经自动包含了Maven, 所以不需要我们程序员进行手动的添加

下面是创建maven项目的流程
在这里插入图片描述
在这里插入图片描述
我们创建的Maven项目中, 都会包含一个pom.xml, 这其实就是添加依赖的配置文件

maven项目功能

打开maven项目的管理列表

在这里插入图片描述
Lifecycle表示这个项目的生命周期, 其中有多条指令

  • clean: 清理所有的target标签下的文件
  • compile: 编译当前的Java文件]
  • package: 把这个maven项目打包为一个jar文件

当执行package打包功能的时候, 会把上面的所有指令全部执行一遍…

在这里插入图片描述

会发现, 打包之后的jar文件存在target目录下面

在这里插入图片描述
上面是日志的信息, 里面也存在jar包的内容


maven的依赖管理

我们maven的核心就是通过管理pom.xml中的依赖来管理项目
我们依赖的查询可以直接在全球仓库(全球唯一)上面查, 也可以在一些辅助平台上面查, 但是这两种平台可能会存在"时差", 也就是全球仓库发布, 但是辅助平台没有发布的情况

全球仓库: 全球仓库链接
辅助平台链接: 辅助平台链接

简单介绍一下依赖(拿mysql为例)

查找依赖(全球仓库)
在这里插入图片描述
分级查询即可

查找依赖(辅助平台)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过这种方式直接查出来依赖的内容, 稍后我们会在pom.xml中进行依赖的导入

在这里插入图片描述
下面的<dependency>标签中的内容就是导入的依赖信息
关于标签的几个属性, 我们简单介绍一下

  • groupId: 组织名称(一般都是某某公司)
  • artifactId: 项目名称(就是开发的某某项目)
  • version: 代表该项目的版本信息(大, 中, 小 三个版本)

在这里插入图片描述

查看上面的这个文件下的内容, 会发现, 我们不仅仅导入了MySQL这个依赖, 还导入了protobuf这个依赖(除开内置的JDK17), 这是怎么回事呢
实际上, 我们在导入mysql依赖的同时, 也进行了protobuf的导入, 也就是说, mysql这个依赖也依赖于protobuf, 当依赖少的时候还好办, 但是一旦依赖多了, 依赖之间的逻辑层次就不好判断了…

所以我们安装一个maven helper来管理依赖之间的关系
在这里插入图片描述
重启idea生效之后, 我们再次查看刚才的依赖关系

在这里插入图片描述
在这里插入图片描述
可以以列表的形式, 或者是树的形式展开, 这样我们的依赖关系就很清晰了


排除某个依赖

假如我们依赖a依赖于b, 但是此时我们不想要b依赖了, 拿上面的例子来说就是mysql不想依赖protobuf了, 我们就可以排除这个依赖

在这里插入图片描述
在这里插入图片描述
pom文件就变成了上面的样子…

全球仓库, 私服, 本地服务器, 配置国内镜像

这一部分内容, 我们在JDBC那一节已经介绍过了…


第一个SpringBoot项目

创建项目

直接上企业版, 上面给出来科技方法了…社区版很麻烦

在这里插入图片描述

下面是大致的介绍

  • Name: 项目名称
  • Type: 选maven
  • Group: 组织Id
  • ArtifactId: 项目Id

在这里插入图片描述
我们选择Springboot的版本是3.4.2(不要选择带有SNAPSHOT的快照版本)
然后依赖这里我们暂时勾选Spring Web, 其实后面了解就知道了, 这其实就是Spring MVC
创建项目成功后, 我们查看一下pom文件
在这里插入图片描述
这是springboot的基础的一些信息, 也是父工程, 下面的一些没有版本号的依赖, 实际上版本号都在这里面保存

在这里插入图片描述
这里没什么用, 就是一些商标, 版权…等等信息(删除就行)
在这里插入图片描述
第一个是Web开发相关的依赖
第二个是单元测试相关的依赖
第三个是相关的maven插件的依赖

运行SpringBoot程序

在这里插入图片描述
含有@SpringBootApplication注解的就是SpringBoot程序的启动类, 作为程序的入口出现

在这里插入图片描述
创建一个测试的程序进行验证
我们添加了@RestController注解(实质上是作为一种待扫描的标志使用)
@RequestMapping注解是资源路径的注解, 分为类路径(不一定存在)和方法路径(一定存在)
资源路径 = 类路径 + 方法路径
我们现在启动SpringBoot程序
在这里插入图片描述
现在就表示SpingBoot启动成功了, 我们打开浏览器输入URL来访问这个服务器程序
在这里插入图片描述
关于为什么端口号是8080, 下面我们会解释


SpringBoot原理初步

Web服务器

在这里插入图片描述
前⾯我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式.
Web 服务器就是对HTTP协议进⾏封装, 程序员不需要直接对协议进⾏操作(自己写代码去解析http协议规则),让Web开发更加便捷, 所以Web服务器也被称为WWW服务器, HTTP服务器, 主要功能是提供⽹上信息浏览服务.
常见的Web服务器有: Apache,Nginx, IIS, Tomcat, Jboss等
SpringBoot 内置了Tomcat服务器, ⽆需配置即可直接运⾏
Tomcat服务器的默认端口号是8080, 所以我们的URL中的默认端口号就是8080
在这里插入图片描述


总结

  • Spring Boot 是为了快速开发 Spring ⽽诞⽣的, Spring Boot 具备:
  • Spring Boot 提供了启动添加依赖的功能, 可以快速集成框架.
  • 内置web服务器,⽆需配置 Tomcat 等 Web服务器,直接运⾏和部署程序.
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发.
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点.
  • Spring Boot 可使⽤ Idea 或⽹⻚创建,它的设计思想是约定⼤于配置,类上标注
    @SpringBootApplication 就可以启动 Spring Boot 项⽬了.

相关文章:

  • 【再读】2501.12948/DeepSeek-R1通过强化学习提升大型语言模型(LLMs)的推理能力
  • C++函数指针与回调函数详解:从青铜到王者,一文搞懂`std::function`的降维打击!
  • PVE使用一个物理网卡采用VLAN为管理IP和VM分配网络的问题
  • 【MYSQL】视图
  • 蓝桥杯小白打卡第五天
  • 什么是算法的空间复杂度和时间复杂度,分别怎么衡量。
  • 【故障处理】- 执行命令crsctl query crs xxx一直hang
  • 采用分布式部署deepseek
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_memalign函数
  • van-field的maxlength属性为空会导致输入框的值被清空。
  • SSML语音合成标记语言开发指南:从基础语法到实战案例解析
  • [250217] x-cmd 发布 v0.5.3:新增 DeepSeek AI 模型支持及飞书/钉钉群机器人 Webhook 管理
  • windows 设置poppler
  • unordered_set 和 unordered_map的模拟实现(c++)
  • 【Go入门篇】第一章:从 Java/Python 开发者的视角入门go语言
  • 半导体制造中的“魔法盾牌”:二氧化硅
  • 前端知识速记--HTML篇:HTML5的新特性
  • vLLM专题(六)-Pooling模型
  • floodfill算法系列一>扫雷游戏
  • vue基础(十)
  • 发布亮眼一季度报后,东阿阿胶股价跌停:现金流隐忧引发争议
  • 打工人的“小长假模式”,已经迫不及待地开启了
  • 第二艘国产大型邮轮实现坞内起浮,重点强化邮轮供应链本土化建设
  • 跨海论汉|专访白馥兰:对中国农业史的兴趣,从翻译《齐民要术》开始
  • 中国黄金协会:一季度我国黄金产量同比增1.49%,黄金消费量同比降5.96%
  • “中国游”带火“中国购”,“即买即退”让外国游客购物更丝滑