在一个spring项目中,添加了spring整合的spring-boot-starter-amqp依赖,以及测试用的spring-boot-starter-test依赖。
这时我们有如下代码
@SpringBootTest
public class PublisherTest {
@Autowired
public RabbitTemplate template;
@Test
public void publish(){
...
}
我发现我在运行时空指针异常,debug发现是因为RabbitTemplate 没有注入成功。
解决办法是在类上添加注解,@RunWith(SpringRunner.class)[1]
这是因为spring的版本比较低,高版本的spring应该是不需要加这个注解的。

本文讲述了在SpringBoot项目中使用spring-boot-starter-amqp集成RabbitMQ时遇到的空指针异常,原因在于Spring版本较低导致RabbitTemplate未自动注入。解决方法是为测试类添加@RunWith(SpringRunner.class)注解。
3934





