作者:为什么要这2502928433 | 来源:互联网 | 2023-08-16 18:04
1.原因:因为我在OrderSender(自己写的发送类)中,用到了rabbitTemplate,通过rabbitTemplate发送消息,然后就找不到了。我在Controller中,是用过下面这种方式调用:
OrderSender orderSender = new OrderSender() ;
orderSender.send(JSON.toJSONString(orderSaves));
2.解决:不能通过new,需要用@Autowired,通过这种方式才能注入
@Autowired
private OrderSender orderSender ;
orderSender.send(JSON.toJSONString(orderSaves));
原因就是一个内含有@Autowired注解的Bean,我们必须要通过Spring的方式来获得这个Bean,而不能自己new一个。因为自己new出来的bean无法通过Spring容器来获得自己需要的bean.可以简单的理解为,要就全都使用Spring容器来管理,要不都不用,你自己new的东西没有进入Spring容器的门票