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

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

目录:

  • 关于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.mrgr.cn/news/8194.html

相关文章:

  • AI视频创作应用
  • Springboot-发送短信有哪些方法?
  • 常见的视频监控RTSP RTMP 流媒体协议及开发测试工具
  • 神经网络微调技术全解(01)-不同的微调方法如PEFT、SFT、LoRa、QLoRa等,旨在解决不同的问题和挑战
  • 使用命令模式实现撤销与重做功能的完整指南
  • 富格林:全面布局实现安全出金
  • 使用一致性哈希解决哈希分片负载均衡的扩展性问题
  • Java面向对象之类加载与static关键字
  • 【Python学习手册(第四版)】学习笔记20.2-迭代和解析(二)-迭代解析、迭代方法的计时比较、函数陷阱
  • 快速排序和归并排序模板(Java实现)
  • 工厂模式和策略模式区别以及使用
  • PCB设计(立创EDA)
  • vue的事件修饰符、数组变化侦测、计算属性、class绑定、style绑定
  • 认识HarmonyOS
  • 大模型之二十六-Diffusion model实例浅析
  • 鸿蒙HarmonyOS实战:创建NDK工程、毕昇编译器
  • MyBatis-Plus 一、(基础应用)
  • 正则表达式匹配——力扣困难题解
  • AI大模型日报#0825:10行代码让大模型数学提升20%、文心日均调用超6亿
  • python动画:颜色(color)能接受的[manim_colors]