SpringBoot 项目中,@AutoWired 注解出来的对象为空时,基本可以说是使用 new 方法出来的。

yufei       3 年, 4 月 前       2079

SpringBoot 新手,比如我,对注解一知半解的情况下,基本都会犯下面的错误

Springboot 中 new 出来的实例中含有 @Autowired 注入时的 Spring Bean 为 NULL

也就是报错

java.lang.NullPointerException

我们一般是怎么做的呢?

差不多就是从 A 类里调用 B 类的方法,我直接 new B() 然后去调用发现 B 类中 @Autowired 注入的Spring BeanNULL

这时候我们要怎么做呢?

既然是依赖注入,那么我们所有的实例都从容器里拿

try {
    // 获取当前的spring容器,这里采用spring方法获取Bean
    ApplicationContext ac = ContextLoader.getCurrentWebApplicationContext();
    AccountAuction a =  (B) ac.getBean("B");
    // 调用方法
    a.save(vo);
} catch (Exception e) {
    e.printStackTrace();
}
3 回复  |  直到 Jul 20, 2021
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.