@Autowired 自动注入的service 对象为null

2023-10-27

问题

在controller层新加一个接口,调用自动注入的service对象操作数据库,发现service对象为null;

排查

奇了怪了,同在一个controller里,其他接口怎么都正常。

当然网上一顿找,发现有如下几种可能

当使用 @Autowired 注解进行自动注入时,出现 null 值的情况通常有以下几种可能的原因:

  1. 未正确配置@Component或@Service:确保被注入的service类上标注了正确的注解,如@Service@Component等。这些注解告诉Spring容器对该类进行管理,以便进行自动注入。

  2. 未开启组件扫描:Spring需要扫描带有@Service@Component等注解的类,并将其注册为bean。确保在配置文件中启用了组件扫描功能,通常是通过<context:component-scan>或者@ComponentScan注解来实现。

  3. 未配置正确的包路径:如果使用了组件扫描功能,请确保扫描的包路径正确,可以检查配置文件或者注解中的包路径是否与service类所在的包路径匹配。

  4. 类路径错误:检查类路径是否正确配置。如果service类在不同的模块或者JAR文件中,确保这些模块或者JAR文件已经正确地添加到构建路径中。

  5. 依赖注入的类并未被Spring容器管理:如果使用 @Autowired 注解对非Spring容器管理的类进行注入,将会导致注入的对象为 null。确保被注入的service类被正确地注册到Spring容器中。

  6. 版本冲突或配置错误:如果使用了不兼容的Spring版本或者配置错误,可能会导致自动注入失败。确保所使用的Spring版本与Java开发环境兼容,并检查配置文件中的其他相关配置项。

发现以上都不适用,然后就清理idea缓存,重启idea等操作,发现还是不行。

解决

最后发现原来是个低级错误,看图吧

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@Autowired 自动注入的service 对象为null 的相关文章

  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • centos7-elk之安装kibana

    下载解压安装包 安装elasticsearch6 0 1之后 下载kibana6 0 1 tar包 存放地址 opt elk 解压tar包 tar zxvf kibana6 0 1 修改配置文件 vim opt elk kibana6 0
  • BDD、KITTI、Cityscapes和Foggy Cityscapes百度云链接

    BDD 链接 https pan baidu com s 1gtUZGV 8X4L3Fe3PtCAxjw 提取码 vfoj KITTI 链接 https pan baidu com s 1EPEV z185GV8t RE48lROA 提取码
  • 为老人和残障人士“铺路搭桥”,这家银行是认真的

    一场疫情改写了银行业的规则 街道被封闭 城市空无一人 那个肃杀的冬季已经离我们远去 但对刚成立不久的小型银行来说 这是一场近乎致命的打击 裕民银行正是其中一员 这是江西省第一家 全国第18家民营银行 根据监管要求 民营银行只能采取 一行一店
  • kd树

    参考 1 统计学习方法 李航 2 https baike baidu com item kd tree 2302515 fr aladdin 3 http www jianshu com p ffe52db3e12b 4 http blog
  • error: device unauthorized.This adb server's $ADB_VENDOR_KEYS is not set

    以为是个复杂问题 百度之后将自己的手机屏幕解锁打开之后就成功连接上了 同样出问题的小伙伴可以看看是不是接口的问题 或者开发者模式没有打开
  • python中global用法实例分析

    lobal语句是适用于当前整个代码块的声明 它是全局变量的标识符 如果某名字在局部名字空间中没有定义 就自动使用相应的全局名字 没有global是不可能手动指定一个名字是全局的 在 global 中出现的名字不能在global 之前的代码中
  • 包裹快递

    包裹快递 背景 小K成功地破解了密文 但是乘车到X国的时候 发现钱包被偷了 于是无奈之下只好作快递员来攒足路费去Orz教主 描述 一个快递公司要将n个包裹分别送到n个地方 并分配给邮递员小K一个事先设定好的路线 小K需要开车按照路线给的地点
  • 记录几款vue的Tree树形控件

    一 Vue Beauty url https fe driver github io vue beauty components tree 特色 找了很多个框架 只有Vue Beauty是带连接线的 刚好项目能用上 二 iView url
  • Redis分布式锁原理及go的实现

    业务背景 后台定时任务刷新Redis的数据到数据库中 有多台机器开启了此定时同步的任务 但是需要其中一台工作 其他的作为备用 提高可用性 使用Redis分布式锁进行限制 拿到锁的机器去执行具体业务 拿不到锁的继续轮询 分布式锁原理 分布式锁
  • MindSpore【课程作业经验】基于TextCNN文本情感分类

    基于TextCNN文本情感分类 在本次实验中我们用mindspore实现TextCNN的针对aclImdb情感分类任务 数据加载 在这里基于TextCNN的方法我们需要指定文本句子长度 并且对句子进行处理 留下字母和空格其余符号删去 标定标
  • 深度学习神经网络中隐藏层的作用

    在神经网络中 隐藏层是介于输入层和输出层之间的一层或多层神经元组成的层级结构 隐藏层的存在是为了增强神经网络的表达能力和学习能力 以下是为什么神经网络中需要隐藏层的几个原因 非线性建模 隐藏层通过引入非线性变换 可以帮助神经网络对非线性关系
  • 3.2 Qt的moc机制

    转自 http www hellotongtong com Qt5base1 qtmoc intro html 3 2 Qt的moc机制 免费下载源码和PPT课件 在线视频课程 csdn 在线视频课程 51cto 好文章 来自 福优学苑 音
  • linux下Oracle服务的启动和关闭

    1 前言 确保我们能够访问oracle数据库包含两部分 一个是oracle实例 一个是监听 两个同时开启 我们才能正常的使用数据库 因此我们在关闭和启动oracle服务时 也需要同时操作实例和监听 能够操作linux的工具有很多 如 xsh
  • (中文详解篇)smallpt: 99行代码完成全局光照Path Tracing

    目录 0 什么是SmallPT Features 1 光线追踪需要了解知识 1 1 什么是全局光照 1 2 渲染方程 2 SmallPT代码分析 2 1 代码块1 2 2 代码块2 2 2 1 主函数第1步 设置呈像平面 2 2 2 主函数
  • MySQL数据库之基础查询语句(DQL数据查询语句)

    目录 一 查询条件 1 where子句 2 like模糊查询 二 查询结果处理 1 设置查询列 2 列的计算 3 as字段取别名 4 distinct 消除重复 5 函数 6 分组查询group by 7 排序 order by 8 分 查
  • ctf.show萌新_web1

    web1 id 100 or id 1000 就是用一个id小于999的来进行验证 然后再给他一个1000的值进行判断 web2 相同的原理 直接为 id 100 id 1000 web3 id 100 id 1000 web4 id 10
  • 初试讯飞星火认知大模型

    现在大模型忒火 chatGPT要翻要美刀很麻烦 bing new免费用起也不错 不过也要爬楼梯 国产的讯飞星火开放体验了 赶紧申请一下 很快就通过了 给了4个任务 1 写一首关于南山文峰塔的诗 要求含夜景描述 有点口水打油诗的味道 2 讲解
  • 产生java.lang.NullPointerException报错的原因

    产生java lang NullPointerException报错的原因 java lang NullPointerException 异常产生原因 public class Test public static void main St
  • Vue中created和mounted详解

    目录 一 生命周期概念 二 浏览器渲染过程 三 生命周期中的浏览器渲染 beforeCreate阶段 created阶段 beforeMount阶段 mounted阶段 四 使用场景 五 常见相关问题 一些页面跳转后 一些基础数据接口没有重
  • @Autowired 自动注入的service 对象为null

    问题 在controller层新加一个接口 调用自动注入的service对象操作数据库 发现service对象为null 排查 奇了怪了 同在一个controller里 其他接口怎么都正常 当然网上一顿找 发现有如下几种可能 当使用 Aut