关于SpringBoot 使用Autowired时自动注入的bean为null的原因及解决方法

遇到个很奇怪的问题,先还原下场景

这两天在用mirai做一个qq机器人玩一下,在接收到信息的handler中想将处理具体事物的逻辑分离到service中,自然的就想到了autowired,但是实际操作过程中却报了空指针异常

原因有二

先说一个我遇到的,在Bot类中需要实例化一个handler对象,当时我是在官网copy的实例代码,他是直接new了一个对象,你的这个类有被new出来的实例的,new 过的对象不会交给Spring容器管理

bot.login();
//bot注册监听类
//bot.getEventChannel().registerListenerHost(myEventHandlers);
bot.getEventChannel().registerListenerHost(new MyEventHandlers());

解决方法自然也就是在bot类中也使用autowired

第二个原因可能就是大家忘了在类上添加如@Componet之类的注解了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值