创建文件
因为是基于springBoot开发的。所以需要加上@SpringBootTest注解
因为要使用RabbitTemplate进行发送消息,所以需要给rabbitTemplate注入进去
@Autowired
RabbitTemplate rabbitTemplate;
因为我们在RabbitmqConfig类中定义了一个常量字段EXCHANGE_TOPICS_INFORM,所以这里可以直接引用了
RabbitmqConfig.EXCHANGE_TOPICS_INFORM
测试发消息
注意:注意:测试发消息时,启动不启动TestRabbitmqApplication应用类都行。
当不启动TestRabbitmqApplication这个应用。
当运行springboot,代码是@RunWith(SpringRunner.class),它会找到这个TestRabbitmqApplication启动类,这个启动类会加载RabbitmqConfig这个类,里面有一系列的声明,创建队列和交换机,包括交换机和队列的绑定
debug运行testSendEmail方法就可以创建队列和交换机包括交换机和队列的绑定。
源码
package com.xuecheng.test.rabbitmq;
import com.xuecheng.test.rabbitmq.config.RabbitmqConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
* @author Administrator
* @version 1.0
* @create 2018-06-17 19:23
**/
@SpringBootTest
@RunWith(SpringRunner.class)
public class Producer05_topics_springboot {
@Autowired
RabbitTemplate rabbitTemplate;
//使用rabbitTemplate发送消息
@Test
public void testSendEmail(){
String message = "send email message to user";
/**
* 参数:
* 1、交换机名称
* 2、routingKey
* 3、消息内容
*/
rabbitTemplate.convertAndSend(RabbitmqConfig.EXCHANGE_TOPICS_INFORM,"inform.email",message);
}
}