【SpringBoot】1.快速上手(上)

目录

1. 环境准备

2. Maven

2.1 什么是Maven

2.2 为什么要学Maven

2.3 创建一个Maven项目

2.4 Maven核心功能

2.4.1项目构建

2.4.2 依赖管理

2.4.3 Maven Help插件

2.5 Maven仓库

2.5.1 本地仓库

2.5.2 中央仓库

2.5.3 私服服务器,也称私服

2.6 Maven设置国内源

2.6.1 配置当前项目setting

2.6.2 设置新项目的setting


1. 环境准备

社区版:2021.1 - 2022.1.4

专业版:无要求

2. Maven

2.1 什么是Maven

Maven是一个项目管理工具。基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

大白话就是:Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不是手动去添加java包。

2.2 为什么要学Maven

原因:简单,方便,提高我们的开发效率,减少我们的开发Bug。

Maven提供的功能非常多,Maven主要体现在两个方面:

  1. 项目构建
  2. 管理依赖
2.3 创建一个Maven项目

IDEA本身就已经集成了Maven,可以直接使用,不需要安装。

File->New -> Project

点击Create,就创建好了一个Maven项目。

2.4 Maven核心功能

主要两个方面:

  1. 项目构建
  2. 管理依赖
2.4.1项目构建

Maven提供了标准的,跨平台的自动化项目构建方式。

当我们开发了一个项目之后,代码需要经过编译,测试,打包,发布等流程,每次代码的修改,都需要经过这些流程,如果代码反复调试修改,这个流程就需要反复进行,就显得特别麻烦,而Maven给我们提供了一套简单的指令开完成项目的构建。

比如,点击package,就可以完成项目的打包操作。

打包就是把所有的class文件,全部放在一起,打成jar包或者war包。

jar包和war包都是一种压缩文件。

jar包就是把开发人员已经写好的一些代码进行打包。打好的jar包就可以引入到其他项目中,也可以直接使用这些jar包中的类和属性。另外也可以打成执行jar包,这样的包就可以通过java-jar命令执行。

war包可以理解是一个web项目,里是项目的所有东西,通常用于网站。

2.4.2 依赖管理

上面说到,Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不是手动去添加获取的jar包,其实就是依赖。

pom.xml就是maven的配置文件,用以描述项目的各种信息。

依赖配置

依赖:指当前项目运行所需要的jar包。

我们需要手动下载Mysql-connector-java的包。并添加到项目中。

如果使用Maven,我们只需要在pom.xml中引入mysql-connector-java的依赖就可以了。

<dependencies>
 <!--⾥⾯放置项⽬的依赖坐标, 可为多个 -->
</dependencies>

1.在pom文件<dependencies>标签内,添加依赖坐标。

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.30</version>
</dependency>

2.点击刷新按钮,引入新加入的依赖jar包。

后续添加新的jar包,或者修改jar包版本,都需要通过该方式再项目中添加依赖。

3. 刷新完之后,就可以在项目中看到新加入的jar包。

依赖传递

如上图,项目A通过Maven引入Jar A时,会自动引入jar B和Jar C。

Jar A和项目B就是项目A的直接依赖。

JarB,JarC是间接依赖。

直接依赖:在当前项目中通过依赖配置建立的依赖关系。

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源。

依赖排除

当前接待你我们需要依赖的库并不多,但随着项目的越来越复杂,库之间的依赖关系也变得越来越复杂。如上图中,如果项目A不需要Jar B,也可以通过排除依赖的方式来实现。

排除依赖:

指主动断开依赖的资源。(被排除的资源无需指定版本)

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-core</artifactId>
 <version>6.0.6</version>
 <!--排除依赖-->
 <exclusions>
 <exclusion>
 <artifactId>spring-jcl</artifactId>
 <groupId>org.springframework</groupId>
 </exclusion>
 </exclusions>
</dependency>

Maven还有一些功能是依赖调节,可选依赖等

依赖调解:

当项目中的依赖存在依赖冲突时,例如  存在这样的场景:

A->B->C->X(1,0)

A->D->X(2,0)

Maven会采用最短路径优先的原则去选择依赖,这里2的依赖路径更短,所以会选择x(2,0),当然也可以选择制定某个依赖的版本。

当然也可以指定X的版本。

2.4.3 Maven Help插件

当项目比较复杂时,我们就会有jar包冲突的问题,这时候哦就需要去解决依赖冲突,解决冲突之前,先要找到冲突,我们可以使用Maven Help插件来观察包和包之间的依赖关系。

插件就是对程序的一些特定场景,做出一些特定的功能的扩展。

安装插件:File-Settings-Plugins->搜索‘Maven Help’->找到对应插件,点击Install安装即可,安装后需要重启下IDEA,才能生效。

安装之后,打开pom文件,就可以看到jar包之间的依赖关系。

也可以右键排除一些依赖。

2.5 Maven仓库
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.30</version>
</dependency>

这个代码,我们称之为“坐标”,也就是唯一的。

在Maven中,根据groupId,artifaxtId,version的配置,来识别一个jar包,缺一不可。

当我们在pom文件中配置完依赖之后,点击刷新,Maven会根据坐标的配置,去仓库里寻找Jar包,下载下来,添加到项目中,这个jar包下载的地方就称为仓库。

仓库:用于存储资源,管理jar包。

Maven仓库的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(jar包,插件等)。

Maven仓库分为两大类:本地仓库和远程仓库。其中远程仓库又分为中央仓库,私服和其他公共库。

2.5.1 本地仓库

本地仓库:自己计算机上的一个目录(用来存储jar包)。

当项目中引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包。

  • 如果有,则在项目中直接引入。
  • 如果没有,则去中央仓库中下载对应的jar包到本地仓库。

在本地仓库地址可以通过Maven配置查看:

File->Settings

查看该仓库目录,就可以看到该目录下有很多的jar包(最开始是空的,随着Maven的使用,该仓库下文件会越来越多)。

2.5.2 中央仓库

中央仓库:maven软件中内置一个远程仓库地址,就是中央仓库,服务于整个互联网,由Maven维护,全球唯一。

仓库地址:https://repo1.maven.org/maven2/

我们可以通过https://mvnrepository.com这个网站来查询并下载。

我们可以把自己写好的jar包上传到中央仓库(具备一定的要求),也可以从中央仓库下载jar包。

查找jar的坐标

  1. 访问https://mvnrepository.com/
  2. 进行查找,比如mysql

3. 选择要添加的jar包版本

4. 查看jar包对应坐标

2.5.3 私服服务器,也称私服

私服:一般由公司团队搭建的私有仓库。

私服属于某个公司,或者某个部门,往往需要一定权限。

有了私服之后,Maven依赖下载的顺序又发生了变化。

当Maven需要下载资源的时候

  1. 先从本地仓库获取,本地仓库存在,则直接返回。
  2. 如果本地仓库没有,就从私服请求,私服存在该资源,就直接返回。
  3. 如果私服上不存在该资源,则从中央仓库下载,中央仓库不存在,就报错了……
  4. 如果中央仓库中存在,就先缓存在私服上之后,在缓存到本地仓库里,再为Maven的下载请求提供服务。

私服是很多人都在使用的,所以只需要第一个使用者下载一次就可以了。

2.6 Maven设置国内源

因为中央仓库在国外,所以下载起来会比较慢,多一选择国内一些公开的远程仓库来下载资源。

2.6.1 配置当前项目setting

File->Settings

1. 查看配置文件的地址,如上图所示,Maven配置文件地址为:D:\Maven\.m2\settings.xml

不同电脑设置的Maven路径不同。

settings和repository可以修改设置为其他路径,两个路径不要有中文。

2.配置国内源

Maven仓库默认在国外https://mvnrepository.com/,国内使用会比较慢,我们可以更换为阿里云的仓库。

打开setting.xml,在mirrors节点上,添加内容如下:

<mirror>
 <id>aliyunmaven</id>
 <mirrorOf>central</mirrorOf>
 <name>阿⾥云公共仓库</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 </mirror>

如果上述地址不存在settings文件,则直接复制即可。

2.6.2 设置新项目的setting

上述配置的内容,只对当前项目生效,为了让后续新建的项目也生效,需要重新设置一下新项目的settings。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值