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

SpringBoot(一)--- Maven基础

 

目录

前言

一、初始Maven

1.依赖管理

2.项目构建

3.统一项目结构

二、IDEA集成Maven

1.Maven安装

2.创建Maven项目

2.1全局设置

2.2 创建SpringBoot项目

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

<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注解。

    @Testpublic void add() {int a = 10;int b = 10;System.out.println(a + b);}

单元测试运行通过

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

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

2.断言

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

我们拿第一个方法来举例

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

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

http://www.lryc.cn/news/2383796.html

相关文章:

  • 基于FPGA控制电容阵列与最小反射算法的差分探头优化设计
  • kakfa 基本了解
  • 基于Browser Use + Playwright 实现AI Agent操作Web UI自动化
  • Origin绘制多因子柱状点线图
  • Web漏洞扫描服务的特点与优势:守护数字时代的安全防线
  • iOS 直播技术及优化
  • 抛弃传统P2P技术,EasyRTC音视频基于WebRTC打造教育/会议/远程巡检等场景实时通信解决方案
  • 俄罗斯军总参情报局APT28组织瞄准援乌后勤供应链发起全球网络攻击
  • 杰发科技AC7801——PWM获取固定脉冲个数
  • MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为无法确定(验证)开发者身份?怎么解决
  • MVC和MVVM架构的区别
  • RAG(Retrieval-Augmented-Generation)检索增强生成
  • 黑马点评前端Nginx启动失败问题解决记录
  • 第12天-Python+Qt5开发实战:10大经典案例与深度解析
  • 软件开发命名避开保留关键字指南
  • 力扣第450场周赛
  • React-改变当前页class默认的样式
  • zabbix 常见问题
  • 人工智能培训:解锁未来职场竞争力的核心路径与课程内容解析
  • 深入解析Java泛型:从定义到实战应用
  • 【开源】一个基于 Vue3 和 Electron 开发的第三方网易云音乐客户端,具有与官方客户端相似的界面布局
  • 【云实验】Excel文件转存到RDS数据库
  • 从零开始:用Python语言基础构建宠物养成游戏:从核心知识到完整实战
  • labview设计一个虚拟信号发生器
  • 工业路由器WiFi6+5G的作用与使用指南,和普通路由器对比
  • Chrome 插件网络请求的全面指南
  • 编译Qt5.15.16并启用pdf模块
  • Python绘制新冠疫情的知识图谱
  • canvas(三)-动画3d
  • 使用RUST在Arduino上进行编程(MacOS,mega板)