1. 引入rabbitMq

pom文件引入

<!-- RabbitMQ依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>2.7.0</version></dependency>

2. 配置文件添加账号密码

spring:rabbitmq:host: 127.0.0.1port: 5672username: rootpassword: 123456

3. RabbitMq配置队列

package com.kofan.server.rabbitMq.config;import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author king*/
@Configuration
public class MqConfig {@Beanpublic Queue userQueue() {/*** name:    队列名称* durable: 是否持久化* exclusive: 是否私有化。如果设置为true,则只有创建者可以使用此队列。* autoDelete: 是否自动删除。临时队列,当最后一个消费者断开连接后,会自动删除。* */return new Queue("userQueue", true, false, false);}@Beanpublic Queue queue() {return new Queue("queue");}@Beanpublic DirectExchange rabbitmqDemoDirectExchange() {//Direct交换机return new DirectExchange("userExchange", true, false);}@Beanpublic Binding bindDirect() {//链式写法,绑定交换机和队列,并设置匹配键return BindingBuilder//绑定队列.bind(userQueue())//到交换机.to(rabbitmqDemoDirectExchange())// 设置匹配键指向Queue.withQueueName();// .with("userRouting");设置匹配键}
}

4. 消息生产者

package com.kofan.server.rabbitMq.component;import com.kofan.data.common.entity.User;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.Date;/*** @author king* 消息发送*/
@Component
public class MySender {@Autowiredprivate AmqpTemplate rabbitTemplate;public void sendPOJO() {User user = new User();user.setUserId("12345646");user.setUserName("123456");user.setRealName("张三");this.rabbitTemplate.convertAndSend("queue", user);}/*** send message in circle mode*/public void send() {String context = "hi, tom " + new Date();for (int i = 0; i < 10; i++) {context = context +" - "+ i;System.out.println(context);this.rabbitTemplate.convertAndSend("userQueue", context);}}
}

5. 消费者

package com.kofan.server.rabbitMq.component;import com.kofan.data.common.entity.User;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** @author king* 消息接收*/
@Component
public class MyReceiver {@RabbitHandler@RabbitListener(queues = "userQueue")public void process(String messages) {System.out.println("我接收信息来自userQueue");System.out.println("Receiver  : " + messages);System.out.println("——————————————————————");}@RabbitHandler@RabbitListener(queues = "queue")public void process(User user) {System.out.println("我接收信息来自queue");System.out.println("Receiver  : " + user);System.out.println("————————————————————");}
}

spring boot使用rabbitMq(一)基础篇相关推荐

  1. Spring Boot: Spring Boot 整合 RabbitMQ

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

  2. Spring Boot (16)---优雅的入门篇

    Spring Boot (16)---优雅的入门篇 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备. ...

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

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

  4. Spring Boot 整合 RabbitMQ 实现

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

  5. Spring Boot Serverless 实战系列“部署篇” | Mall 应用

    作者:西流 关注[Serverless]公众号,后台回复 "学习" 即可获得 Serverless 技术资源包! 导读: Spring Boot 是基于 Java Spring 框 ...

  6. Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算

    作者 |:西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立运行的应用程序. 在云 ...

  7. Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算

    简介:如何以 Serverless 的方式运行 Spring Boot 应用? 作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Sp ...

  8. Spring Boot Serverless 实战系列“架构篇”首发 | 光速入门函数计算

    作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立运行的应用程序. ​ ...

  9. Spring boot集成RabbitMQ(山东数漫江湖)

    RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统  MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写 ...

  10. Spring boot集成RabbitMQ

    ####RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通 ...

最新文章

  1. 一款N-沟道耗尽型JFET晶体管 MPF102
  2. ISQL文件夹,目前唯一解决办法就是sa密码设置为复杂点的,开机密码设置成复杂点的。...
  3. torch 判断相等
  4. 一天教会三岁表弟HTML,你值得拥有
  5. GMQ集团推出全球创新型金融衍生品交易平台
  6. Java 开发常用类库和API
  7. 数据可视化黑科技!它比python强大20倍
  8. 一个老板向员工发的牢骚
  9. linux shell 字体颜色样板,BASH shell下设置字体及背景颜色
  10. 《Head First设计模式》中文版 读书笔记
  11. 谈谈从PC端到移动端的产品设计差异
  12. 北方大学 ACM 多校训练赛 第四场 题解
  13. 关于小程序网易云音乐接口用户登录,繁忙问题
  14. mysql存储用户昵称_mysql 微信用户昵称 emoji 完整保存 - 人人都是架构师
  15. 读书笔记《产品经理必懂的技术那些事儿》03-04
  16. 形式语义学-chapter 3 Attribute Grammars
  17. 读《人生的智慧》——叔本华
  18. nginx和gunicorn相关,反向代理和正向代理区别,静态资源和动态资源
  19. POJ2215 Parliament
  20. 程序员每天到底有多累?

热门文章

  1. bootstrap支付宝充值html,jQuery+Bootstrap手机端支付宝金额充值表单页面代码
  2. SOA推动电信服务走向融合应用
  3. ip地址与网络上的其他系统有冲突怎么解决
  4. 为什么要学会正确的提问?
  5. php开发支付宝支付密码忘记了怎么办_总忘记银行卡密码怎么办?2个办法教你轻松找回!...
  6. 数据挖掘实战分享:财政收入影响因素分析及预测(一)
  7. matplotlib部件(widgets)之套索选区(LassoSelector)
  8. 精选益智玩具推荐:Orchard Toys
  9. day6 (常用模块和面向对象基础)
  10. 简历面试择业篇-在面试的过程中你所需要注意的问题