24.9.7——小学期开发实记

news/2024/11/15 6:50:42/文章来源:https://www.cnblogs.com/sodamate/p/18402393

今天完成了基础信息的CRUD,但是遇到了一个关于JAVA Spring Boot注入的问题。

问题如下:

Error:(20, 34) Could not autowire. No beans of 'workCenterInfoMapper' type found.

@Autowired
private workCenterInfoMapper workCenterInfoMapper;

我改成:

@Resource
private workCenterInfoMapper workCenterInfoMapper;

就不报错了。

报错原因分析:

当你使用 @Autowired 注解时,Spring会尝试根据类型自动装配所需的bean。如果在Spring的上下文中找不到类型为 workCenterInfoMapper 的bean,就会抛出“Could not autowire”错误。这个问题的根本原因可能包括:

  1. Bean未注册workCenterInfoMapper 接口没有被Spring容器识别为一个bean,通常是因为缺少必要的注解(如 @Mapper 或 @Repository)。
  2. 组件扫描配置问题:Spring的组件扫描可能没有覆盖到包含 workCenterInfoMapper 的包。
  3. 依赖注入的方式@Autowired 是按类型注入,而 @Resource 是按名称注入。如果存在多个相同类型的bean,@Autowired 可能会失败,而 @Resource 可以通过名称找到特定的bean。

 

后面搜索原因的时候发现@mapper确实没有注入,是我疏忽大意了。

加上之后果然不报错了。

 

解决方案:

将注解从 @Autowired 更改为 @Resource 后,问题解决的原因如下:

1. 按名称注入

  • @Resource 默认按名称进行注入。如果Spring容器中存在名为 workCenterInfoMapper 的bean,它会直接找到并注入该bean,而不需要考虑类型匹配的问题。

2. 避免类型冲突

  • 如果存在多个同类型的bean,使用 @Autowired 可能会引发冲突,导致无法确定注入哪个bean。而 @Resource 通过名称可以明确指定要注入的bean,避免了这种冲突。

3. 更加灵活的配置

  • @Resource 是Java EE标准注解,具有更好的兼容性和灵活性,适用于需要按名称或类型注入的场景。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/793859.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SPI

SPI SPI共用4种模式,通过控制CPOL(时钟极性)和CPHA(时钟相位)来控制,此处以W25Q128的时序图来利用IO口模拟SPI模式0与模式3通信过程中的时序。模式0:SCL处于低电平,第一个边沿收发 模式1:SCL处于低电平,第二个边沿收发 模式2:SCL处于高电平,第一个边沿收发 模式3:S…

2024软件工程第一次个人作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024/这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243这个作业的目标 初步认识博客园和GIthub平台,初步了解软件工程学科的任务学号 102201622一、个人logo文生图任务 使用工具:Op…

Gitness 基础安装

对gitness最基本的安装以及从Github配置token获取源码仓库的相关配置。目录Docker 安装注册账户创建项目导入已有仓库配置 Github Token同步源代码仓库 官方链接Gitness was the next step in the evolution of Drone, from continuous integration to source code hosting, br…

Gradle下载太慢? Gradle官方最全版本极速下载网址

Gradle下载太慢? Gradle官方最全版本极速下载地址 Gradle简介 Gradle 作为一种开源的构建工具,理论上可以开发所有应用,在 Java 应用程序的构建与发布方面起着极大的助力作用。Gradle能够为开发者构建应用程序提供有力支持,这不仅对自动化测试大有益处,还能实现分发构建,…

软件工程课程第一次个人作业1

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024/这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243这个作业的目标 1.理解与运用AI辅助学习与工作(生成logo、指南等) 2.自我介绍 3.学习规划 4.熟悉学习环境学号 102202123一、…

海豚调度清理:使用 API 轻松清理工作流历史版本记录,一键减少关系日志和任务定义日志表的数据量

💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 推荐阅读:海豚调度监控:使用图关系解决核心链路告警问题,减轻任务运维负担,用户五星好评!海豚…

吴恩达 AI 完整课程资源2020汇总

风度78 于 2020-02-19 11:30:00 发布https://blog.csdn.net/fengdu78/article/details/104403851编辑 | Will 出品 | 字节AI 吴恩达(Andrew Ng),毫无疑问,是全球人工智能(AI)领域的大 IP!随着近些年来 AI 越来越火的大趋势下,吴恩达一直致力于普及、宣传、推广 AI 教育…

509迷宫

想法还是太过于巧妙了。 首先有一个很简单的容斥 \(n^2\) 做法。 然后我们能发现 \(mod\) 很小,注意:\(\forall_{1 \le i < mod}\) \(C_{mod}^{i} = 0\)。 所以就有个天才的做法,将矩阵沿着对角线切开,类似这样:如果我们每隔 \(mod\) 进行一次切割,那么我们就会发现如…

尿素

大周期看在走2浪的回调

零基础学习地平线 征程6 QAT 量化感知训练

1. 背景 首先感谢地平线工具链用户手册和官方提供的示例,给了我很大的帮助,特别是代码注释写了很多的知识点,超赞!要是注释能再详细点,就是超超赞了!下面开始正文。 最近想着学 QAT(量化感知训练)玩玩,大体看了一下地平线的用户手册,不说精度调优之类比较复杂的,光一个…

征程 6E/M 快速上手实战 Sample-PYM

01 IPC模块简述 1.1 硬件数据流 PYM(Pyramid)作为一个硬件加速模块(图像缩小及 ROI 提取),对输入的图像按照金字塔图层的方式处理,并输出到 DDR:PYM 模块在 Camsys 子系统的数量和位置如下,总共 3 个 PYM 硬件,PYM0、PYM1、PYM4(只支持 offline)。1.2 PYM-Sample 软…