文章目录
- 本节目标
- 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 项⽬了.