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 | 指定测试类、测试方法显示的名称 (默认为类名、方法名) |

相关推荐
一定要AK7 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao7 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao7 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏4947 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
不吃香菜学java8 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
wuxinyan1238 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
新知图书8 小时前
搭建Spring Boot开发环境
java·spring boot·后端
冰河团队8 小时前
一个拉胯的分库分表方案有多绝望?整个部门都在救火!
java·高并发·分布式数据库·分库分表·高性能
洛_尘8 小时前
Java EE进阶:Linux的基本使用
java·java-ee
宸津-代码粉碎机8 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python