# 注解方式声明
除了使用java bean 方式配置交换机,路由,队列还可以使用注解方式,跟bean方式一样
# 代码
# 消费者
/**
* 基于注解方式监听
*/
@Component
public class RabbitMQAnnotationStyleListener {
@RabbitListener(
bindings = @QueueBinding(
value = @Queue(name = "test.queue", durable = "false"),
exchange = @Exchange(name = "test.exchange", type = ExchangeTypes.DIRECT),
key = "t"
)
)
public void listener(Message message, Channel channel) {
System.out.println(new String(message.getBody(), StandardCharsets.UTF_8));
}
}
# 生产者
@RestController
@RequestMapping("/p")
public class ProducerController {
@Autowired
private RabbitTemplate rabbitTemplate;
@GetMapping
public void send() {
rabbitTemplate.convertAndSend(
"test.exchange",
"t",
"注解方式申明"
);
}
}