SpringBoot(一)--- Maven基础

目录

前言

一、初始Maven

1.依赖管理

2.项目构建

3.统一项目结构

二、IDEA集成Maven

1.Maven安装

2.创建Maven项目

2.1全局设置

[2.2 创建SpringBoot项目](#2.2 创建SpringBoot项目)

[2.3 常见问题](#2.3 常见问题)

三、单元测试

1.JUnit入门

2.断言


前言

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>,内容如下:

XML 复制代码
<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文件中引入相关的依赖。

XML 复制代码
<!--Junit单元测试依赖-->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.9.1</version>
    <scope>test</scope>
</dependency>

在test/java目录下,创建测试类,并编写对应的测试方法,并在方法上声明@Test注解。

java 复制代码
    @Test
    public void add() {
        int a = 10;
        int b = 10;
        System.out.println(a + b);
    }

单元测试运行通过

注意:1.测试类的命名规范为:XxxxTest

2. 测试方法命名规范为:public void xxx(){...}

2.断言

JUnit提供了一些辅助方法,用来帮我们确定被测试的方法是否按照预期的效果正常工作,这种方式称为断言

我们拿第一个方法来举例

java 复制代码
public class AddTest {

    @Test
    public void add() {
        int a = 10;
        int b = 10;
        // 第一个参数为预期值,第二个参数为真实值,第三个参数为报错信息
        Assertions.assertEquals(30, a + b, "两个值不相同");
    }
}

我们发现报错了,因为预期值和真实值不相同。将预期值改为20,测试就可通过。

相关推荐
Chenyiax4 分钟前
从 Chat 到 Responses:OpenAI API 抽象为什么变了?
后端
MariaH5 分钟前
Koa和Express的区别
后端
MariaH10 分钟前
Koa框架的使用
后端
luckdewei1 小时前
那个用 passlib 做认证的新同事,上线第一天就把用户密码写进了日志
后端
ping某3 小时前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
JustHappy3 小时前
我汇总了身边朋友的经历才发现,其实第一份实习是最难找的......
前端·后端·面试
uhakadotcom3 小时前
在python 的 工程化架构中 ,什么是 薄包装器层?
后端·面试·github
用户1474853079747 小时前
CodeX使用Skill生成游戏美术和音乐资源,一分钟入门
后端
Melody1237 小时前
用 abort 中断 AI 流式请求,我之前做错了
后端
onething3658 小时前
Spring Boot + Spring AI 从入门到实战:7天转型计划 Day 5 —— SSE 流式输出 + 打字机效果
人工智能·后端·全栈