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