目录
前言
Maven 是一款用于管理和构建Java项目的工具,是Apache旗下的一个开源项目 。
一、初始Maven
1.依赖管理
我们在使用Maven之前,我们项目中要想使用某一个jar包,就需要把这个jar包从官方网站下载下来,然后再导入到项目中。然后在这个项目中,就可以使用这个jar包了。
但是我们在使用Maven之后,我们只需要在maven项目的pom.xml文件中,添加一段如下图所示的配置即可实现。配置项被称作依赖,下面的例子配置的是hutool依赖,专门用来进行文件操作的。
2.项目构建
Maven提供了标准化的跨平台的自动化构建方式。我们可以从IDEA右侧M图标那里直接进行编译、测试、打包等操作。
通过Maven中的命令,就可以很方便的完成项目的编译(compile)、测试(test)、打包(package)、发布(deploy) 等操作。
而且这些操作都是跨平台的,也就是说无论你是Windows系统,还是Linux系统,还是Mac系统,这些命令都是支持的。
3.统一项目结构
在上面的maven项目的目录结构中,main目录下存放的是项目的源代码,test目录下存放的是项目的测试代码。 而无论是在main还是在test下,都有两个目录,一个是java,用来存放源代码文件;另一个是resources,用来存放配置文件。
二、IDEA集成Maven
Maven的下载地址:https://maven.apache.org/download.cgi,下载zip压缩文件即可。
1.Maven安装
首先,解压Maven安装包,建议解压到没有中文、特殊字符的路径下。
然后在自己计算机上新一个目录mvn_repo(本地仓库,用来存储jar包)
然后进入到conf目录下修改settings.xml
配置文件,打开settings.xml文件,定位到53行,复制<localRepository>
标签,然后复制之前新建的用来存储jar包的路径,替换掉<localRepository>
标签体内容。
然后定位到160行左右,在<mirrors>
标签下为其添加子标签<mirror>
,内容如下:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
最后是配置环境变量,在系统变量处新建一个变量MAVEN_HOME。 MAVEN_HOME环境变量的值,设置为maven的解压安装目录
然后在Path中进行配置。 PATH环境变量的值,设置为:%MAVEN_HOME%\bin
cmd打开命令提示符,输入mvn -v,
若出现如图情况则安装成功。
2.创建Maven项目
2.1全局设置
首先进行全局设置,进入IDEA欢迎界面
打开All Settings,选择 Build,Execution,Deployment
=> Build Tools
=> Maven
配置工程的编译版本为21(21是一个长期版本)
2.2 创建SpringBoot项目
上述准备工作完成之后,创建SpringBoot项目
创建成功后
2.3 常见问题
有时联网基于spring的脚手架创建SpringBoot项目,偶尔可能会因为网内网络的原因,链接不上SpringBoot的脚手架网站,此时会出现如下现象:
此时可以使用阿里云提供的脚手架,网址为:https://start.aliyun.com
三、单元测试
1.JUnit入门
以前我们对程序进行测试都是直接运行main函数来对方法的正确性进行测试,而如果我们使用了JUnit单元测试框架进行测试,我们就可以对每个方法进行分开测试,一个方法的失败不会影响其他方法。
我们在使用JUnit前,要先在pom.xml文件中引入相关的依赖。
<!--Junit单元测试依赖-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.1</version>
<scope>test</scope>
</dependency>
在test/java目录下,创建测试类,并编写对应的测试方法,并在方法上声明@Test注解。
@Test
public void add() {
int a = 10;
int b = 10;
System.out.println(a + b);
}
单元测试运行通过
注意:1.测试类的命名规范为:XxxxTest
2. 测试方法命名规范为:public void xxx(){...}
2.断言
JUnit提供了一些辅助方法,用来帮我们确定被测试的方法是否按照预期的效果正常工作,这种方式称为断言。
我们拿第一个方法来举例
public class AddTest {
@Test
public void add() {
int a = 10;
int b = 10;
// 第一个参数为预期值,第二个参数为真实值,第三个参数为报错信息
Assertions.assertEquals(30, a + b, "两个值不相同");
}
}
我们发现报错了,因为预期值和真实值不相同。将预期值改为20,测试就可通过。