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

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 {@Testpublic 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 {@Testpublic void testGetAge(){UserService userService = new UserService();Integer age = userService.getAge("100000200010011011");System.out.println(age);}@Testpublic void testGetGender(){UserService userService = new UserService();String gender = userService.getGender("100000200010011011");System.out.println(gender);}/*** 基于断言*/@Testpublic void testGetGenderwithAssert(){UserService userService = new UserService();String gender = userService.getGender("100000200010011011");Assertions.assertEquals("男", gender,"男女颠倒");System.out.println(gender);}@Testpublic 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;@BeforeEachpublic  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还是POSTSystem.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.获取请求参数nameString name = request.getParameter("name");String age = request.getParameter("age");System.out.println(name);System.out.println(age);//5.获取请求头-AcceptString accept = request.getHeader("Accept");System.out.println("Accept:"+accept);return "OK";}
}

image-20251112213541970

http://www.jsqmd.com/news/38825/

相关文章:

  • E. Journey
  • Dynamics 365 Field Service跨站脚本欺骗漏洞分析
  • Linux优秀的系统--信号(3--信号的保存、阻塞)
  • 深入解析:SQL提数与数据分析指南
  • 日报11.12
  • 大家来写 ICPC 西安(没写完)
  • [译] 省略 Async 与 Await
  • 你的代码正在腐烂!你的团队正走在死亡螺旋上:技术债务积累的5个危险信号!
  • iverilog、gtkwave工具链接
  • 2025 11 12
  • 使用WiX创建Windows应用安装包 - -YADA
  • 学生信息管理系统团队项目随笔
  • Total Recall: 如何在Windows下开发输入法
  • 大数据量场景下的编辑 / 选择 / 详情优化
  • 简化Python数据结构初始化:从繁琐到优雅的进阶指南 - 详解
  • RabbitMQ相关
  • 第八天 测试用例编写
  • 软工团队作业2--需求规格说明书
  • 没用的博客园页面的要素介绍
  • 使用NVIDIA TAO 6和DeepStream 8构建实时视觉检测管道 - 实践
  • #题解#洛谷P1314#二分#前缀和#
  • Python 实现对遥感影像根据DN值上色
  • 《团队作业2》需求规格说明书
  • 【免费】MySQL自动化运维工具,一键生成WORD和EXCEL
  • 实用指南:轻量化 + 绿色部署的日志监控系统log-monitor设计思路(一)
  • 深入理解C++智能指针:掌握RAII与内存安全的利器 - 详解
  • 【LVGL】进度条部件
  • OpenEuler 22.03 安装zabbix-agent(源代码编译及自制rpm包)
  • pq使用体验和改进建议
  • Vue插值表达式