广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >@Autowired 注入为null 的原因与解决方式
  • 541
分享到

@Autowired 注入为null 的原因与解决方式

springjavamvc 2023-08-31 14:08:15 541人浏览 薄情痞子
摘要

前言 我们经常会通过@Autowired注解将某个类注到另一个类中,但是会发现注不进去,报NULL。 可能的原因有一下几种: (1)该类没有托管给spring 管理 一般在类的上面添加@Component 就可以了 (2)你的这个类有被ne

前言

我们经常会通过@Autowired注解将某个类注到另一个类中,但是会发现注不进去,报NULL。

可能的原因有一下几种:

(1)该类没有托管给spring 管理

一般在类的上面添加@Component 就可以了

(2)你的这个类有被new出来的实例的,new 过的对象不会交给Spring容器管理 所以里面的 service或者dao注入不进来。一般是指引用某些框架,你是继承某个接口,但是这些框架默认new过这个方法,比如mvc拦截的HandlerInterceptor类。

如果要new的这个类里有想用@autowired 自动注入的内容,则最好不要去new这个类,否则自动注入无效,为null; 

解决办法:要用这个类的时候,这个类也用@autowired 自动注入

有时候你确实需要在这个new 的类去注入某些类,但是用@Autowired 又注入为null,这时候我们需要手动去弄Spring容器中的Bean实现ApplicationContextAware接口。

import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component; @Componentpublic class BeanUtils implements ApplicationContextAware  {    protected static ApplicationContext applicationContext ;     @Override    public void setApplicationContext(ApplicationContext arg0) throws BeansException {        if (applicationContext == null) {            applicationContext = arg0;        }     }    public static Object getBean(String name) {        //name表示其他要注入的注解name名        return applicationContext.getBean(name);    }         public static  T getBean(Class clazz) {        return applicationContext.getBean(clazz);    }}

案列:

SysDictService sysDictService = BeanUtils.getBean(SysDictService.class);

来源地址:https://blog.csdn.net/weixin_42826932/article/details/128559132

--结束END--

本文标题: @Autowired 注入为null 的原因与解决方式

本文链接: https://www.lsjlt.com/news/385849.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • @Autowired 注入为null 的原因与解决方式
    前言 我们经常会通过@Autowired注解将某个类注到另一个类中,但是会发现注不进去,报NULL。 可能的原因有一下几种: (1)该类没有托管给spring 管理 一般在类的上面添加@Component 就可以了 (2)你的这个类有被ne...
    99+
    2023-08-31
    spring java mvc
  • 基于spring注入为null的原因及解决方案
    目录spring注入为null场景经检查找出原因解决方法@PostConstruct:Spring注入的属性为null可能的情况保证Bean能够交付给Spring容器检查实例化的方式...
    99+
    2022-11-12
  • SpringBoot @Autowired注入为空的原因有哪些
    今天小编给大家分享一下SpringBoot @Autowired注入为空的原因有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-05
  • @Autowired自动注入接口失败的原因及解决
    目录@Autowired 自动注入接口失败可以这样做@Autowired 自动注入失败报空指针异常今天就遇到了这个问题 @Autowired 自动注入接口失败 有个自动注入...
    99+
    2022-11-13
  • @Autowired注解在抽象类中失效的原因及解决
    @Autowired注解在抽象类中失效 最近在工作中遇到这个问题,在抽象类中使用Autowired这个注解,注入mybatis的dao时,总是出现空指针异常,通过日志的打印,发现是这...
    99+
    2022-11-12
  • Java 报错 java.util.ConcurrentModificationException: null 的原因和解决方案
    Java 报错 java.util.ConcurrentModificationException: null 的原因和解决方案 简介: 在 Java 编程中,当使用迭代器或者增强型 for 循环遍历...
    99+
    2023-09-09
    java 开发语言
  • 解决SpringMvc中普通类注入Service为null的问题
    SpringMvc中普通类注入Service为null 场景: 使用Quartz定时器时,普通的java类需要注入spring的service类,在调用时报错! 解决方式: ...
    99+
    2022-11-12
  • 【Mybatis-plus】updateById()方法不能更新字段为null的原因及解决办法
    【Mybatis-plus】updateById()方法不能更新字段为null的原因及解决办法 一、问题描述 ​ 在日常项目开发过程中,经常会使用Mybatis-plus的updateById()方法...
    99+
    2023-09-02
    mybatis java spring
  • CLOSE_WAIT状态的原因与解决方法
    CLOSE_WAIT状态是TCP连接的一种状态,表示本地端已经发起了关闭连接的请求,但是远程端还没有发送关闭连接的响应。原因:1. 本地端发送了关闭连接的请求,但是远程端还没有收到或者没有及时响应。2. 远程端正在处理其他任务,导致无法...
    99+
    2023-08-11
    CLOSE_WAIT
  • 使用@Autowired注解引入server服务层方法时报错的解决
    目录@Autowired注解引入server服务层方法时报错网上搜的方法:还行JavaBean属性方法关于@Autowired 注解时发生的错误1.解决2.解决@Autowired注...
    99+
    2022-11-12
  • 使用@Autowired注解引入server服务层方法时报错的解决方法
    这篇文章给大家介绍使用@Autowired注解引入server服务层方法时报错的解决方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。@Autowired注解引入server服务层方法时报错contentTypeSer...
    99+
    2023-06-25
  • 如何解决SpringMvc中普通类注入Service为null的问题
    本篇内容介绍了“如何解决SpringMvc中普通类注入Service为null的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Sprin...
    99+
    2023-06-20
  • 阿里云IP无法进入服务器原因、解决方案与注意事项
    本文旨在为遇到阿里云IP无法进入服务器问题的用户解决这个问题。我们将从原因分析、解决方案、注意事项等角度进行详细说明,帮助读者快速解决问题。 在使用阿里云服务器时,有时可能会遇到IP无法进入服务器的情况。这是由于多种原因引起的,例如网络连接...
    99+
    2023-12-11
    阿里 注意事项 解决方案
  • java汉字乱码的原因与解决方法
    在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。推荐:java基础教程1、...
    99+
    2021-11-01
    java
  • python中urllib.unquote乱码的原因与解决方法
    发现问题 Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:“%...
    99+
    2022-06-04
    乱码 解决方法 原因
  • mysql中插入emoji表情失败的原因与解决
    失败场景 用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F\...
    99+
    2022-10-18
  • 分析ecbil数据库插入速度慢的原因与解决方案
    专题描述研发团队抛出问题如下:折扣引擎在向数据库插入数据时,90万数据需要一个小时分析过程1计算得出每秒插入行数只有250左右,远低于正常性能范围。2和开发人员沟通发现,插入数据库的语句每次insert一行...
    99+
    2022-10-18
  • spring中@Reference注入为空的解决方法
    线上发生事故了 前天晚上上线一波,发生了一个挺有意思的事,昨天复盘了一下,今天分享一下。 晚上的时候,我负责的系统和收银系统同时上线一波(用的是Dubbo)。然后很神奇的事情发生了,...
    99+
    2022-11-12
  • java出现乱码的原因与解决方法详解
    java在字符串中统一用Unicode表示。(推荐:java视频教程)对于任意一个字符串:String string = “测试字符串”;如果源文件是GBK编码,操作系统默认环境编码也为GBK,那么编译的时候,JVM将按照GBK编码将字节数...
    99+
    2017-02-06
    java基础 java 乱码
  • node-sass安装失败的原因与解决方法
    前言 我们一般在利用npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。 这是使用 sass ...
    99+
    2022-06-04
    解决方法 原因 node
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作