管理和构建java项目
- 依赖管理
- 项目构建

- 统一项目结构

Maven坐标
- 资源(jar)的唯一标识,通过该坐标可以唯一确定定位资源位置
- 使用坐标来定义项目或引入项目中需要的依赖
snapshot:开发版本
release:完整版本
导入maven项目
- 将maven项目复制到项目目录下
- 选择maven项目的pom.xml文件进行导入
配置依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>24</maven.compiler.source>
<maven.compiler.target>24</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--配置依赖-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.1.4</version>
<exclusions>
<exclusion>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!--排除依赖-->
</project>maven的生命周期
- clean:清理操作
- default:核心工作,便衣测试打包等
- site:生成报告等

单元测试
JUnit:最流行的java测试框架之一

- 断言

package com.itheima;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class UserServiceTest {
@Test
public void testGetAge(){
UserService userService = new UserService();
Integer age = userService.getAge("130429200208280330");//com+option+v
System.out.println(age);
}
@Test
public void testGetGender(){
UserService userService = new UserService();
String gender = userService.getGender("130429200208280330");
System.out.println(gender);
}
//断言
@Test
public void testGenderWithAssert(){
UserService userService = new UserService();
String gender = userService.getGender("130429200208280330");
Assertions.assertEquals("男",gender, "性别获取有问题");
}
@Test
public void testGenderWithAssert2(){
UserService userService = new UserService();
//无效参数异常
// Assertions.assertThrows(IllegalArgumentException.class, () -> {
// userService.getGender(null);
// });
//空指针异常
Assertions.assertThrows(NullPointerException.class, () -> {
userService.getGender(null);
});
}
}
- 常见注解

@DisplayName("测试用户性别")
@ParameterizedTest
@ValueSource(strings = {"130429200208280330","130429200208280390","130429200208280350"})
public void testGenderWithAssert3(String IdCard){
UserService userService = new UserService();
String gender = userService.getGender(IdCard);
Assertions.assertEquals("男",gender);
}- 依赖范围
