引入依赖


引入依赖之后,配置文件写完,spring 就帮我们注入了,RabbitTemplate

spring: application: name: rabbitmq_namerabbitmq:host: 主机地址port: 端口号username: 账号password: 密码virtual-hoat: 虚拟主机地址

RabbitTemplate 用来简化操作,使用时直接注入,在spring跟mq服务器建立配置文件之后会自动实例化,模板对象

队列模型 点对点

生产者

@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void  test(){// rountingKye,ObjectrabbitTemplate.convertAndSend("hello","body消息");}
}

消费者

01:-------------


@Component// 加上这个注解,告诉spring它是一个消费者
// 参数 queuesToDeclare  表示监听哪个队列,如果没有,就创建/其他参数请看:01
@RabbitListener(queuesToDeclare = @Queue("hello"))
public class HelloCustomer{@RabbitHandlerpublic void n(String message){System,out.pring(mess)}
}

队列模型,1对多

二:

 生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void  test(){// rountingKye,ObjectrabbitTemplate.convertAndSend("worl","worl消息");}
}

消费者

@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(queuesToDeclare = @Queue("work"))public void n(String message){System,out.pring(mess)}// 监听同一个,轮询执行,平均分// 可以监听多个@RabbitListener(queuesToDeclare = @Queue("work"))public void n(String message){System,out.pring(mess)}
}

交换机模型 广播

 生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void  test(){// 交换机 rountingKye,ObjectrabbitTemplate.convertAndSend("worl","","worl消息");}
}

消费者

@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(bindings={@QueuBinding(//声明指定名称,不声明,创建临时队列@Queue("work") value = @Queue, //临时队列exchange=@Exchange(value = "work", type = "fanout") //绑定交换机)})public void test (String message){System,out.pring(mess)}
}

路由key

生产者

@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void  test(){// 交换机 rountingKye,ObjectrabbitTemplate.convertAndSend("work","work01","worl消息");}
}

消费者

@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(bindings={@QueuBinding(//声明指定名称,不声明,创建临时队列@Queue("work") value = @Queue, //临时队列exchange=@Exchange(value = "work", type = "direct") //自定义交换机名称和类型key    = {"info","work01"})})public void test (String message){System,out.pring(mess)}
}

动态路由。订阅模式

生产者

@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void  test(){// 交换机 rountingKye,ObjectrabbitTemplate.convertAndSend("work","work.work","worl消息");}
}

消费者

@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(bindings={@QueuBinding(//声明指定名称,不声明,创建临时队列@Queue("work") value = @Queue, //临时队列exchange=@Exchange(value = "work", type = "direct") //自定义交换机名称和类型key    = {"info","work01.*,work01.#"})})public void test (String message){System,out.pring(mess)}
}

String boot 整合rabbitMQ相关推荐

  1. spring boot整合RabbitMQ —— 十分钟急速上手

    安装运行rabbitmq 1.docker安装rabbitmq: docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq ...

  2. Spring Boot 整合 RabbitMQ 实现

    Spring Boot 整合 RabbitMQ 实现 1. 开发环境搭建 1.1 pom配置 1.2 application.yml配置 2. 消费者模块(springboot-rabbitmq-co ...

  3. Spring Boot: Spring Boot 整合 RabbitMQ

    前言 RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷.消息分发的作用. 消息队列在比较主要的一个作用是用来做应 ...

  4. rabbitmq fanout java_spring boot整合RabbitMQ实例详解(Fanout模式)

    1.Fanout Exchange介绍 Fanout Exchange 消息广播的模式,不管路由键或者是路由模式,会把消息发给绑定给它的全部队列,如果配置了routing_key会被忽略. 如上图所示 ...

  5. cSpring Boot整合RabbitMQ详细教程

    来自:https://blog.csdn.net/qq_38455201/article/details/80308771 十分详细,几张图片不显示,看这个地址 1.首先我们简单了解一下消息中间件的应 ...

  6. 【消息中间件】Spring Boot整合RabbitMQ

    简介 在Spring项目中,可以使用Spring-Rabbit去操作RabbitMQ 尤其是在spring boot项目中只需要引入对应的amqp启动器依赖即可,方便的使用RabbitTemplate ...

  7. Spring boot整合rabbitmq

    一.生产者 1.pom.xml <properties><maven.compiler.source>8</maven.compiler.source><ma ...

  8. rabbitmq fanout java_spring boot整合RabbitMQ(Fanout模式)

    1.Fanout Exchange介绍 Fanout Exchange 消息广播的模式,不管路由键或者是路由模式,会把消息发给绑定给它的全部队列,如果配置了routing_key会被忽略. 如上图所示 ...

  9. RabbitMQ使用及与spring boot整合

    1.MQ 消息队列(Message Queue,简称MQ)--应用程序和应用程序之间的通信方法 应用:不同进程Process/线程Thread之间通信 比较流行的中间件: ActiveMQ Rabbi ...

最新文章

  1. pythonweb开发-一步步教你开始使用Python开发Web应用
  2. Spring与其他Web框架集成
  3. C++ Primer 5th笔记(chap 11)关联容器操作
  4. PHP 底层的运行机制与原理
  5. Lab01:Xv6 and Unix utilities
  6. Android 绑定远程服务出现 Not Allowed to bind service
  7. c oracle 32位64位,64位与32位编程的数据类型区别(C/C++)
  8. 18年5年制计算机辅助考试题,2018年自考《计算机辅助教育》试题二
  9. LeetCode 60. 第k个排列(python、c++)
  10. 冠军奖 3 万元!CSDN×易观算法大赛火热进行中
  11. devstack mysql_devstack 安装openstack newton版
  12. Java基础枚举(enum关键字)
  13. linux系统下安装flash player插件下载安装,Linux16.0.4下安装Adobe Flash Player插件(Firefox)...
  14. 何种情况下可以在征信报告中添加个人声明?
  15. 如何提升自己的网站打开速度
  16. 0685-6.2.0-什么是Cloudera虚拟私有集群和SDX-续
  17. 使用BC进行数字信封操作
  18. 云原生架构下的微服务选型和演进
  19. 如何将Word文件转化为Latex文件:word-to-latex-2.56详解
  20. 一文读懂Codex:基于Cosmos的跨链DeFi平台

热门文章

  1. 2月8日 维护总结(宽带、电话故障)
  2. File.renameTo()方法实例
  3. 常见国家S口-O口规范与CID标准一览
  4. 要死的人都后悔些什么
  5. SpringBoot最常用的50个注解(全是干货,干的要死!)
  6. Vuejs另辟蹊径(基础篇+小案例)
  7. 《Adobe After Effects CS6中文版经典教程》——1.2 创建项目并导入素材
  8. 任正非最新谈话:直到2006年,我才真正抛弃自杀的念头
  9. Intel CPU的CPUID指令(转载)
  10. 家用洗地机什么品牌质量好耐用?最适合家用的洗地机