关于Java中@Component的使用中出现@Autowired为NULL的问题

news/2024/9/18 12:33:15/ 标签: bug

目录:

  • 关于Java中@Component的使用中出现@Autowired为NULL的问题
  • 解决过程

在这里插入图片描述

关于Java中@Component的使用中出现@Autowired为NULL的问题

解决过程

我在写一个项目中使用@Component配置了一个RedisCompent在这里插入代码片类我将在AccountControllerUserinfoController中对该类进行了依赖注入
但是最疑惑的是在 AccountController调用 rediscompent使用其中方法是爆出 rediscompent is null 这个报错 但是在userinfoController中缺并未报错
在这里插入图片描述
让我百思不得其解(就好比你在北京拿了一锁和钥匙在北京就能打开,但是去了山西就不行了,这把锁也没有收到任何环境的影响还是原本的那把锁);
我就去看了注入依赖 发现也没有什么问题
在这里插入图片描述
然后我去上网查资料找到了以下几种解决方法 (@Component加入容器之后@Autowired注入为null)@Autowired注入为null

  1. Bean对象并没有交给Spring管理
    检查@Autowired的对象是否已经被注入到Spring容器中了;
    确保使用@Autowired注解的对象也已存在Spring的容器中。

  2. 对象使用过new关键字
    当一个对象使用过关键new时,它是不能被Spring所管理的。
    所以如果在这些对象中使用@Autowired去注入对象,得到的结果也是为null。

以上都不行最后觉得有一种可能

在@Component注解的类下,再使用了@Resource或@Autowired注解。如此操作会导致依赖注入失败。

这是因为spring加载它们的顺序不同,在使用@Component注解将bean实例化到spring容器内的时候,因为@Autowired是在这个bean之中的,此时@Autowired还未完成自动装载,所以导致依赖注入的service为null

最后我我使用在通过set方法进行注入成功解决了这个报错

在这里插入图片描述

但是我还是不理解为什么在同一个controller包下在usercontroller中就可以使用 在accountcontroller下面就报错 如果大佬知道,可发评论告知小弟,小弟感激不尽

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


http://www.ppmy.cn/news/1515859.html

相关文章

【Docker】Docker学习02 | docker-cli的基本命令

本文首发于 ❄️慕雪的寒舍 简单了解一下docker client的常用命令,更多命令可以查看完整命令列表。不同命令之间的关系,可以查看下图。 如果你看不到图片,不用担心,后面对每个命令进行介绍的时候,会提到它们的作用的。…

静态内部类来实现单例

现单例模式的方式有很多种,除了以上所提到的,我们还可以使用静态内部类来实现单例,这样更简单,不需要判空也不需要加 volatile 关键字去防止指令重排的问题。示例代码如下: package com.huawei.l00379880.mythread.Ch…

网络安全教程初级指南

网络安全是当今最抢手的技能之一。如今,信息库如此庞大,节点网络也越来越庞大,网络安全的重要性也越来越高。 本网络安全教程适合初学者和专业人士。 在本教程中,您将学习有关网络安全的所有基本技能、工具和策略。 本网络安全…

Git 多人协作

1. 准备工作 ⽬前,我们所完成的⼯作如下 • 基本完成 Git 的所有本地库的相关操作,git基本操作,分⽀理解,版本回退,冲突解决等等。 • 申请码云账号,将远端信息clone到本地,以及推送和拉取。 …

Ubuntu下通过Docker部署Synapse服务器技术博客

今天,我在阿贝云这个不错的免费云服务器上进行Synapse部署测试。这家免费云服务商太棒了,1核CPU、1G内存、10G硬盘、5M带宽,阿贝云的免费服务器性能超乎想象。 作为一个资深的IT技术爱好者,我简直爱不释手Docker这个神器。它可以轻松地帮我部署各种应用程序,包括今…

【RabbitMQ】高级特性

本文将介绍一些RabbitMQ的重要特性。 官方文档:Protocol Extensions | RabbitMQ 本文是使用的Spring整合RabbitMQ环境。 生产者发送确认(publish confirm) 当消息发送给消息队列,如何确保消息队列一定收到消息呢,RabbitMQ通过 事务机制 和 …

Linux下使用cat、grep、sed查看文件任意几行的数据

使用grep命令 grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行 grep -B 5 foo file 显示foo及前5行 grep -A 5 foo file 显示foo及后5行grep -C 行数 要查的关键字 文件名 使用cat与tail、head的组合命令 1、查看最后1000行的数据 cat filename | tail -n 1…

如何备份电脑所有数据?四个方法实现一键备份所有数据

备份电脑所有数据是一个重要的步骤,可以确保在数据丢失或损坏时能够迅速恢复。以下是一些备份电脑所有数据的方法,对于有重要数据的企业来说非常实用。 一、使用外置存储设备 选择设备:首先,选择一个容量足够大的外置存储设备&am…

flume--数据从kafka到hdfs发生错误

解决: #1.将flume自带的依赖删除 mv /opt/installs/flume1.9/lib/guava-11.0.2.jar /opt/installs/flume1.9/lib/guava-11.0.2.jar.bak #2.将hadoop的依赖发送到flume下 cp /opt/installs/hadoop3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /opt/installs/f…

wpf datagrid 实现双向绑定

前台 <DataGridAutoGenerateColumns"False"Background"White"CanUserAddRows"True"Grid.Row"1"RowEditEnding"DataGrid_OnRowEditEnding"RowHeight"60"SelectionUnit"CellOrRowHeader"x:Name"…

C# 数组,List,Stack,Dictionary,Queue,LinkedList 如何选择

回顾数据容器 变量 无符号 byte ushort uint ulong 有符号 sbyte short int long 浮点数 float double decimal 特殊 char bool string 复杂数据容器 枚举 enum 结构体 struct 数组&…

代驾系统源码开发中的用户体验优化:从设计到实现的全方位解析

在当今数字化时代&#xff0c;代驾服务已经成为城市生活中不可或缺的一部分。为了帮助开发者和企业快速搭建代驾服务平台&#xff0c;许多开源的代驾系统源码应运而生。这些源码不仅节省了开发时间&#xff0c;还为进一步的定制化开发提供了坚实的基础。本文将以“开源代驾系统…

nodejs小工具--pdf拆分

提示&#xff1a;pdf拆分 文章目录 [TOC](文章目录) 前言一、pdf-lib二、pdf拆分功能三、双击运行bat文件四、项目结构五、使用方法六、效果总结 前言 一、pdf-lib pdf-lib npm install pdf-lib --save-dev二、pdf拆分功能 index.js // 启动express服务 const express re…

【网络编程】select实现服务器与客户端进行通信

1、运行1个服务器和2个客户端 实现效果: 1、服务器和2个客户端互相聊天&#xff0c;服务器和客户端都需要使用select模型去实现 2、服务器要监视2个客户端是否连接&#xff0c;2个客户端是否发来消息&#xff0c;以及服务器自己的标准输入流 3、客户端…

智能停车计费系统设计与实现_urqs9

TOC springboot552智能停车计费系统设计与实现_urqs9--论文 绪 论 1.1 研究背景 在新世纪的今天&#xff0c;计算机已经发展到一定的规模&#xff0c;带动了国内经济和科学技术的快速发展&#xff0c;科学技术的发展大大提高了生产效率&#xff0c;使人们的物质生活需求得到…

DOM的重要核心

目录 DOM的创建 1.document.write 2.innerHTML 3.createElement 2.增加 3.删除 4.改 5.查 6.属性操作 7.事件操作 8.注册事件 8.1传统注册方式 8.2addEventListener事件监听方式 基本语法 监听点击事件 监听多个事件 移除事件监听器 DOM的创建 1.document.wri…

深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)

目录 &#x1f354; RNN 概述 1.1 循环神经网络 1.2 自然语言处理 &#x1f354; 词嵌入层 2.1 词嵌入层的使用 2.2 关于词嵌入层的思考 2.3 小节 &#x1f354; 循环网络层 3.1 RNN 网络原理 3.1.1 RNN计算过程 3.1.2 如何计算神经元内部 3.2 PyTorch RNN 层的使用…

虚拟机安装centos7-桥接模式

1、打开虚拟机&#xff0c;点击文件&#xff0c;选择新建虚拟机 2、选择典型&#xff0c;点击下一步 3、选择稍后安装操作系统&#xff0c;点击下一步 4、选择系统类型及版本&#xff0c;点击下一步&#xff0c;因centos7是Linux操作系统&#xff0c;且是64位的&#xff0c;所以…

唯大数据(大模型)论阻碍智能领域的创新吗?

唯大数据&#xff0c;即将大数据视为智能领域创新的唯一或主要驱动力&#xff0c;可能会带来一些挑战和限制。尽管大数据在智能系统中提供了丰富的信息和洞察&#xff0c;但过度依赖大数据也可能导致以下几个问题&#xff1a; 1、数据质量和偏差&#xff1a;大数据往往包含大量…

SpringMVC核心机制环境搭建

文章目录 1.SpringMVC执行流程1.基础流程图2.详细流程图 2.安装Tomcat1.下载2.解压到任意目录即可3.IDEA配置Tomcat1.配置Deloyment2.配置Server 3.创建maven项目1.创建sun-springmvc模块&#xff08;webapp&#xff09;2.查看是否被父模块管理3.pom.xml引入依赖4.目录5.SunDis…