JavaWeb后端基础(1)

我直接从后端开始做笔记,前面的HTML、CSS、JS、Vue、Ajax先跳过,直接从maven开始

我只是简单的记录大致 帮助回想 不适合进行学习

Maven

Maven的作用:依赖管理、项目构建、统一项目结构

依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题 在pom.xml文件进行配置 项目构建:通过Maven中的命令,就可以很方便的完成项目的编译、测试、打包、发布(deploy) 等统一项目结构:提供标准的java项目目录

Maven三个模型

  • 项目对象模型 (Project Object Model)

  • 依赖管理模型(Dependency)

  • 构建生命周期/阶段(Build lifecycle & phases)

项目对象模型,就是将我们自己的项目抽象成一个对象模型,有自己专属的坐标。坐标的组成部分

  • groupId: 组织名

  • arfitactId: 模块名

  • Version: 版本号

Maven的项目目录结构

maven-project01

|--- src (源代码目录和测试代码目录)

|--- main (源代码目录)

|--- java (源代码java文件目录)

|--- resources (源代码配置文件目录)

|--- test (测试代码目录)

|--- java (测试代码java目录)

|--- resources (测试代码配置文件目录)

|--- target (编译、打包生成文件存放目录)

然后可以看一下pom.xml里边每一个标签什么意思

生命周期

Maven的生命周期就是为了对所有的构建过程进行抽象和统一。 描述了一次项目构建,经历哪些阶段。Maven从大量项目和构建工具中学习和反思,然后总结了一套高度完美的,易扩展的项目构建生命周期。

生命周期划分为3套(相互独立)

  • clean:清理工作。

  • default:核心工作。如:编译、测试、打包、安装、部署等。

  • site:生成报告、发布站点等。

单元测试

测试方法包括三个:

1). 白盒测试

清楚软件内部结构、代码逻辑。

用于验证代码、逻辑正确性。

2). 黑盒测试

不清楚软件内部结构、代码逻辑。

用于验证软件的功能、兼容性、验收测试等方面。

3). 灰盒测试

结合了白盒测试和黑盒测试的特点,既关注软件的内部结构又考虑外部表现(功能)。

JUnit单元测试

使用JUnit单元测试框架进行测试,优势:

  1. 测试代码与源代码分开,便于维护。

  2. 可根据需要进行自动化测试。

  3. 可自动分析测试结果,产出测试报告。

值得注意的是,测试类的命名规范为:XxxxTest 测试方法的命名规定为:public void xxx(){...}

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

|-------------------------------------------------------|---------------------------|
| 断言方法 | 描述 |
| assertEquals(Object exp, Object act, String msg) | 检查两个值是否相等,不相等就报错。 |
| assertNotEquals(Object unexp, Object act, String msg) | 检查两个值是否不相等,相等就报错。 |
| assertNull(Object act, String msg) | 检查对象是否为null,不为null,就报错。 |
| assertNotNull(Object act, String msg) | 检查对象是否不为null,为null,就报错。 |
| assertTrue(boolean condition, String msg) | 检查条件是否为true,不为true,就报错。 |
| assertFalse(boolean condition, String msg) | 检查条件是否为false,不为false,就报错。 |
| assertSame(Object exp, Object act, String msg) | 检查两个对象引用是否相等,不相等,就报错。 |

在Junit中提高注解以增强其功能

|--------------------|-----------------------------------|
| @Test | 测试类中的方法用它修饰才能成为测试方法,才能启动执行 |
| @BeforeEach | 用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。 |
| @AfterEach | 用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。 |
| @BeforeAll | 用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。 |
| @AfterAll | 用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。 |
| @ParameterizedTest | 参数化测试的注解 (可以让单个测试运行多次,每次运行时仅参数不同) |
| @ValueSource | 参数化测试的参数来源,赋予测试方法参数 |
| @DisplayName | 指定测试类、测试方法显示的名称 (默认为类名、方法名) |

相关推荐
随缘。。。。7 分钟前
web系统安全管理
java
丁一郎学编程15 分钟前
优先级队列(堆)
java·数据结构
侧耳倾听11122 分钟前
java集合相关的api-总结
java·开发语言
贺函不是涵34 分钟前
【沉浸式求职学习day43】【Java面试题精选3】
java·开发语言·学习
xiaobin8899940 分钟前
matlab官方免费下载安装超详细教程2025最新matlab安装教程(MATLAB R2024b)
java·开发语言·其他·matlab
小伍_Five1 小时前
spark数据处理练习题详解【下】
java·大数据·spark·scala
L汐2 小时前
02 K8s双主安装
java·容器·kubernetes
用手手打人2 小时前
SpringBoot(一)--- Maven基础
spring boot·后端·maven
jackson凌2 小时前
【Java学习笔记】【第一阶段项目实践】房屋出租系统(面向对象版本)
java·笔记·学习
带刺的坐椅2 小时前
Solon Ai Flow 编排开发框架发布预告(效果预览)
java·ai·solon·dify·solon-flow