Day36(6)-F:\硕士阶段\Java\课程代码\后端\web-ai-code\web-ai-project01

Maven

image-20251112123615692

image-20251112123637160

image-20251112124812029

image-20251112124910829

image-20251112125117307

第32集讲安装

image-20251112133838796

Maven文件导入方式

先把对应文件夹拖到资源管理器

然后再让idea识别出这个是maven,记得通过pom.xml打开

image-20251112135153340

image-20251112135316187

依赖配置

Maven Repository: Search/Browse/Explore

image-20251112140234401

排除依赖

image-20251112140649355

image-20251112140702198

image-20251112141937913

image-20251112142120903

image-20251112142207480

image-20251112142420538

image-20251112142436483

命令行传参调用mvn时,要先配置MAVEN_HOME及其path,且同时要使得jdk匹配

image-20251112152110679

测试

image-20251112152713020

image-20251112152924818

image-20251112152956164

Junit

先导入,在pom.xml中

<dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>5.9.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

image-20251112153325215

image-20251112153528003

image-20251112155251837

image-20251112155324108

package com.itheima;

import org.junit.jupiter.api.Test;

import java.time.LocalDate;

/**
 * 测试类
 */
public class UserServiceTest {
    @Test
    public void testGetAge(){
        UserService userService = new UserService();
        Integer age = userService.getAge("100000200010011011");
        System.out.println(age);
    }
}

断言机制(maven版)

image-20251112161101221

package com.itheima;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.time.LocalDate;

/**
 * 测试类
 */
public class UserServiceTest {
    @Test
    public void testGetAge(){
        UserService userService = new UserService();
        Integer age = userService.getAge("100000200010011011");
        System.out.println(age);
    }

    @Test
    public void testGetGender(){
        UserService userService = new UserService();
        String gender = userService.getGender("100000200010011011");
        System.out.println(gender);
    }

    /**
     * 基于断言
     */
    @Test
    public void testGetGenderwithAssert(){
        UserService userService = new UserService();
        String gender = userService.getGender("100000200010011011");
        Assertions.assertEquals("男", gender,"男女颠倒");
        System.out.println(gender);
    }

    @Test
    public void testGetGenderwithAssert2(){
        UserService userService = new UserService();
        //断言
        Assertions.assertThrows(IllegalArgumentException.class, ()->{
            userService.getGender("null");
        });
    }
}

image-20251112161205320

注解

package com.itheima;

import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;

import java.time.LocalDate;

/**
 * 测试类
 */
@DisplayName("用户信息的测试类")
public class UserServiceTest {

//    @BeforeAll
//    public static void beforeAll(){
//        System.out.println("before all");
//    }
//
//    @AfterAll
//    public static void afterAll(){
//        System.out.println("after all");
//    }
//
//    @BeforeEach
//    public void beforeEach(){
//        System.out.println("before each");
//    }
//
//    @AfterEach
//    public void afterEach(){
//        System.out.println("after each");
//    }
//
//    @Test
//    public void testGetAge(){
//        UserService userService = new UserService();
//        Integer age = userService.getAge("100000200010011011");
//        System.out.println(age);
//    }
//
//    @Test
//    public void testGetGender(){
//        UserService userService = new UserService();
//        String gender = userService.getGender("100000200010011011");
//        System.out.println(gender);
//    }
//
//    /**
//     * 基于断言
//     */
//    @Test
//    public void testGetGenderwithAssert(){
//        UserService userService = new UserService();
//        String gender = userService.getGender("100000200010011011");
//        Assertions.assertEquals("男", gender,"男女颠倒");
//        System.out.println(gender);
//    }
//
//    @Test
//    public void testGetGenderwithAssert2(){
//        UserService userService = new UserService();
//        //断言
//        Assertions.assertThrows(IllegalArgumentException.class, ()->{
//            userService.getGender("null");
//        });
//    }

    /**
     * 参数化测试
     */
    @DisplayName("测试用户性别")
    @ParameterizedTest
    @ValueSource(strings = {"100000200010011011","100000200010011013","100000200010011011"})
    public void  testGetGender2(String idCard){
        UserService userService = new UserService();
        String gender = userService.getGender(idCard);
        //断言
        Assertions.assertEquals("男",gender);
    }
}

image-20251112165250561

package com.itheima;

import org.junit.jupiter.api.*;

@DisplayName("用户信息测试类")
public class UserService2Test {
    private UserService userService;

    @BeforeEach
    public  void beforeEach() {
        userService = new UserService();
    }

    /**
     * 测试获取性别
     */
    @Test
    @DisplayName("获取性别-null")
    public void testGetGender1() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getGender(null);
        });
    }

    /**
     * 测试获取性别
     */
    @Test
    @DisplayName("获取性别-空串")
    public void testGetGender2() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getGender("");
        });
    }

    /**
     * 测试获取性别
     */
    @Test
    @DisplayName("获取性别-长度不足")
    public void testGetGender3() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getGender("123");
        });
    }

    /**
     * 测试获取性别
     */
    @Test
    @DisplayName("获取性别-长度超出")
    public void testGetGender4() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getGender("100000200010011011123");
        });
    }

    /**
     * 测试获取性别-正常
     */
    @Test
    @DisplayName("获取性别-正常男性身份证")
    public void testGetGender5() {
        String gender = userService.getGender("100000200010011011");
        Assertions.assertEquals("男", gender);
    }

    @Test
    @DisplayName("获取性别-正常女性身份证")
    public void testGetGender6() {
        String gender = userService.getGender("100000200010011021");
        Assertions.assertEquals("女", gender);
    }

    /**
     * 测试获取年龄
     */
    @Test
    @DisplayName("获取年龄-正常")
    public void testGetAge1() {
        Integer age = userService.getAge("100000200010011011");
        Assertions.assertEquals(25, age);
    }

    /**
     * 测试获取年龄
     */
    @Test
    @DisplayName("获取年龄-null值")
    public void testGetAge2() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getAge(null);
        });
    }

    /**
     * 测试获取年龄
     */
    @Test
    @DisplayName("获取年龄-年龄超长")
    public void testGetAge3() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getAge("100000200010011011123");
        });
    }

    /**
     * 测试获取年龄
     */
    @Test
    @DisplayName("获取年龄-年龄长度不足")
    public void testGetAge4() {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            userService.getAge("10000020001001101");
        });
    }
}

image-20251112172636960

image-20251112190207336

package com.itheima;


//import org.junit.jupiter.api.Test;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello Maven~");
    }
//    @Test
//    //如果强行在 src/main 中使用 @Test,需手动为 src/main 引入测试依赖(将 <scope>test</scope> 移除),但这会导致主代码包中包含测试依赖,不符合 Maven 规范,因此不推荐这样做。
//    public void test1(){
//        System.out.println("test1");
//    }
}

image-20251112190524921

跳过该测试周期

image-20251112190611696

C:\Users\Lenovo.m2\repository\org\springframework\spring-context\6.1.4

image-20251112191420161

直接找到maven的本地仓库,cmd调用命令行,

C:\Users\Lenovo.m2\repository>del /s *.lastUpdated

image-20251112192137125

仓库里面有一个del.bat格式的文件,直接双击运行脚本就可以删除

后端

image-20251112194132349

Spring

image-20251112194641858

image-20251112194743777

image-20251112195244337

package com.itheima;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController//表示当前类是一个请求处理类
public class HelloController {
    @RequestMapping("/hello")//标识请求路径
    public String hello(String name){
        System.out.println("name:"+name);
        return "Hello"+name+"~";
    }
}

image-20251112203318814

aliyun里面会默认给你一个demo包,调用前得先删掉这个包

image-20251112204800892

https://docs.spring.io/spring-boot/docs/3.1.3/reference/htmlsingle/#using.build-systems.starters

image-20251112205344309

HTTP协议

image-20251112210606467

image-20251112210642818

image-20251112211140748

image-20251112211217031

image-20251112211452480

image-20251112211755749

package com.itheima;

import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RequestController {
    @RequestMapping("/request")
    public String request(HttpServletRequest request){
        //1.获取请求方式
        String method = request.getMethod();//GET还是POST
        System.out.println("请求方式:"+method);
        //2.获取请求url地址
        String url = request.getRequestURL().toString();
        System.out.println("完整的URL地址:"+url);
        String uri = request.getRequestURI();
        System.out.println("完整的URI地址:"+uri);
        //3.获取请求协议
        String protocol = request.getProtocol();
        System.out.println("请求协议:"+protocol);
        //4.获取请求参数name
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        System.out.println(name);
        System.out.println(age);
        //5.获取请求头-Accept
        String accept = request.getHeader("Accept");
        System.out.println("Accept:"+accept);

        return "OK";
    }
}

image-20251112213541970

posted @ 2025-11-12 21:37  David大胃  阅读(8)  评论(0)    收藏  举报