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

苍穹外卖Day6


文章目录

  • 前言
    • ``
  • 一、碰见问题
    • 1.配置动态SQL后项目不能正常运行
  • 二、根据ID查询员工功能代码实现
    • 1.**类上**注解的作用
    • 2.**方法**内的注解
    • 3.service层为什么要使用接口?
    • 4.Bean的概念
  • 总结


前言

``

一、碰见问题

1.配置动态SQL后项目不能正常运行

报错日志:

2025-07-24 11:01:28.589 ERROR 21980 — [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.sky.mapper.EmployeeMapper.Employee] with root cause

咨询AI后:这个错误是MyBatis 框架在处理参数映射时出现的问题,核心原因是:MyBatis 找不到名为com.sky.mapper.EmployeeMapper.Employee的参数映射(ParameterMap)配置。知道了是配置XML时寻找Employee的路径错误,改正后运行成功

二、根据ID查询员工功能代码实现

1.类上注解的作用

@RestController:组合注解,相当于@Controller+@ResponseBody
@Controller,将类标注为控制器,标注之后Spring才能将此类与Http请求关联
@ResponseBody:将方法的返回值按照前端所需的格式返回。若没有Spring会默认将返回值当作“视图名称”,去寻找对应的页面。
@RequestMapping(“/employee”):指定类的基础请求路径。该类的所有方法的请求路径都会自动拼接上/employee。

2.方法内的注解

@Autowired:自动注入依赖对象(一个类运行时需要其他类的对象)
@PostMapping(“/status/{status}”}:声明这个方法专门处理POST类型的请求,请求路径必须是/employee/status/{status}。POST是HTTP协议中的一种请求方式,主要用于用户向服务器提交数据
举例子:HTTP发出POST请求→服务器(Tomcat)接受→调用EmployeeController→调用EmployeeService→EmployeeService去数据库更新员工状态→数据库保存状态→服务器把“更新成功”的结果返回给前端。

3.service层为什么要使用接口?

1.接口可以解耦
2.接口里有多个实现类,可以通过依赖自动注入切换不同的实现类。
3.代码侵入性低,当需求变化时,对原有代码不用进行大量,直接的修改,降低原有代码的结构被破坏的风险,后续维护难度降低。
4.若不使用接口,更改需求时→导致controller层依赖注入要更改,方法名可能更改

4.Bean的概念

Spring容器管理的对象(被实例化、组装、管理的对象),可以是任何Java对象(只要能被实例化)


总结

如果我的内容对你有帮助,请点赞👍、关注❤、收藏⭐️。创作不易,大家的支持就是我坚持下去的动力!在这里插入图片描述

http://www.xdnf.cn/news/1184743.html

相关文章:

  • OSPF 协议(多区域)
  • 【动态规划:斐波那契数列模型】解码方法
  • Uniapp编写微信小程序,绘制动态圆环进度条
  • LIMA:大语言模型对齐的“少即是多”革命——原理、实验与范式重构
  • 软件工程:软件需求
  • 图书推荐-由浅入深的大模型构建《从零构建大模型》
  • 【模型剪枝1】结构化剪枝论文学习笔记
  • k8s-MongoDB 副本集部署
  • XORIndex:朝鲜不断发展的供应链恶意软件再次瞄准 npm 生态系统
  • Kubernetes配置管理
  • Axios基本使用
  • GUI界面已经移植完,添加欠缺字,微调GUI界面说明
  • Kafka运维实战 15 - kafka 重设消费者组位移入门和实战【实战】
  • 时间和空间复杂度
  • 八股文之JVM
  • DNS 服务正反向解析与 Web 集成实战:从配置到验证全流程
  • Day 21: 常见的降维算法
  • 专题:2025电商增长新势力洞察报告:区域裂变、平台垄断与银发平权|附260+报告PDF、原数据表汇总下载
  • 小米8(dipper)刷入kernelSU内核root定制rom系统教程以及安装LSPosed模块
  • Windows-WSL-Docker端口开放
  • FunASR实时多人对话语音识别、分析、端点检测
  • NLP验证自动化脚本优化
  • 从热点到刚需:SmartMediaKit为何聚焦B端视频系统建设?
  • 【lucene】AttributeSource概述
  • Ethereum:Geth + Clef 本地开发环境,如何优雅地签名并发送一笔以太坊交易?
  • Linux 内存深度剖析:栈与堆的底层机制与实战指南
  • 汽车免拆诊断案例 | 2010款奔驰E200 CGI车EPS OFF灯异常点亮
  • MCP 与传统集成方案深度对决:REST API、GraphQL、gRPC 全方位技术解析
  • Linux725 磁盘阵列RAID0 RAID1
  • Linux库——库的制作和原理(1)_回顾动静态库、制作使用库