新闻详情

新闻详情

首页 / 资讯中心 / 详情

windows下RabbitMQ的使用(3)——Spring Boot集成RabbitMQ(Hello World模式)

发布时间:2026/9/26 10:18:05来源:尧图网络
windows下RabbitMQ的使用(3)——Spring Boot集成RabbitMQ(Hello World模式)
前面两篇文章windows下RabbitMQ的使用(1)——下载与安装windows下RabbitMQ的使用(2)——安装插件与创建队列RabbitMQ的版本号是4.3.0。在整合之前需要知道一些名词和工作模式。RabbitMQ 就像是一个超级邮差兔不过它不送胡萝卜专门传递消息想象一下• 交换机Exchange邮局的分拣中心负责把信件分到正确的路线• 队列Queue你的专属邮箱消息就在这里等你来取• ️路由键Routing Key信封上的地址标签• 消息Message你要传递的包裹可以是任何数据这只“兔子”有四种工作模式Hello World模式简单直接像扔飞盘一样Work Queues 模式多个工人抢活干卷起来了Publish/Subscribe 模式广播模式一人说话全村听见Routing Topics 模式智能分发精准投喂本文介绍一下如何使用Spring Boot集成RabbitMQ。IDEA版本: 2026.1JDK17Spring Boot3.xRabbitMQ4.3.0先启动RabbitMQ注意本文使用一个Spring Boot项目同时创建生产者和消费者有的项目会用不同的Spring Boot项目创建不同的角色本文为了简单起见使用一个Spring Boot项目同时创建生产者和消费者。1.创建Spring Boot项目打开IDEA,点击“文件”—“新建”——“项目”这里选“Spring Boot”类型然后输入项目的名称语言选“Java”构建类型选“Maven”版本都选17。打包方式选“Jar”配置文件选“YAML”如果没有这个选项问题不大 后期可以自己创建或者你使用“Properties”方式也行。这里的Spring Boot版本号写3.x版本然后往下拉找到Web选项选择“Spring Web”然后点击创建注意要保证maven配置正确创建完毕后默认如下2.构建过程2.1 增加依赖第一步需要添加RabbitMQ的相关依赖!-- SpringBoot 整合 RabbitMQ 核心启动器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependencyspring-boot-starter-amqp是Spring Boot 连接 RabbitMQ 的官方工具。可以快速在 Spring Boot 中使用 RabbitMQ提供自动配置和注解支持。我们打开pom.xml文件将上面的依赖填写上填写上以后可以点击下图的“1”处。或者点击“A”,再点击“B”处刷新一下更新依赖。我的pom.xml文件参考如下?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.5.14/versionrelativePath/!-- lookup parent from repository --/parentgroupIdcom.guo/groupIdartifactIdRabbitMQ-demo1/artifactIdversion0.0.1-SNAPSHOT/versionnameRabbitMQ-demo1/namedescriptionRabbitMQ-demo1/descriptionurl/licenseslicense//licensesdevelopersdeveloper//developersscmconnection/developerConnection/tag/url//scmpropertiesjava.version17/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- SpringBoot 整合 RabbitMQ 核心启动器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project2.2 修改配置文件修改application.yaml文件增加下面的配置#RabbitMQ 相关配置rabbitmq:host:localhostport:5672username:guestpassword:guest增加完后配置文件如下所示2.3 增加配置类我们在创建一个config文件夹用来存放配置类右击文件夹名字选择“新建—软件包”输入的内容参考下面com.guo.config然后按回车。然后继续右击“config”文件夹选择“新建—Java类”类名输入 RabbitConfig然后按下回车。参考代码如下importorg.springframework.amqp.core.Queue;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassRabbitConfig{// 统一队列名publicstaticfinalStringHELLO_QUEUEtestMQ;BeanpublicQueuehelloQueue(){// 简单持久化关闭、hello 标准模式returnnewQueue(HELLO_QUEUE,false);}}这里需要注意的是队列的名字是testMQ这对应我们前面文章中创建的队列的名字如果你使用RabbitMQ创建的队列不是这个名字请一定要统一队列的名字。2.4 增加消费者需要先增加一个文件夹名字是consumer跟刚才的config是同级所以参考下图右击文件夹点击“新建”—“软件包”com.guo.consumer输入后按回车确定。右击consumer文件夹选择“新建”—“Java类”这里消费者的类名为HelloConsumer输入后按回车。参考代码如下importcom.guo.config.RabbitConfig;importorg.springframework.amqp.rabbit.annotation.RabbitListener;importorg.springframework.stereotype.Component;ComponentpublicclassHelloConsumer{RabbitListener(queuesRabbitConfig.HELLO_QUEUE)publicvoidreceive(Stringmessage){System.out.println(【消费者收到】message);}}2.5 修改启动类打开启动类在上面增加一行注解ComponentScan(basePackagescom.guo)// 扫描com.guo下的所有包注意com.guo改成你实际的包名。然后点击小三角点击“调试xxx” 来启动主程序。这样就能启动消费者来进行监听了。2.6 修改测试类打开默认的测试类增加下面的代码AutowiredprivateRabbitTemplaterabbitTemplate;TestvoidsendHelloMsg()throwsInterruptedException{StringmsgHello World RabbitMQ;rabbitTemplate.convertAndSend(RabbitConfig.HELLO_QUEUE,msg);System.out.println(【测试生产者发送完成】msg);}增加完后代码如下然后点击运行测试方法“sendHelloMsg()”运行测试类后可以在测试类的控制台看到下面发送提示。2.7 查看测试效果根据上面的图我们点击上图中绿色的部分 切换到主程序的控制台就可以看到在主程序中的消费者收到了消息。本文参考代码(1) 百度网盘通过网盘分享的文件RabbitMQ-demo1.zip链接: https://pan.baidu.com/s/1Rj2o8EpGG5pTplsF1lbrfg?pwdmf6d 提取码: mf6d2夸克网盘我用夸克网盘给你分享了「RabbitMQ-demo1.zip」点击链接或复制整段内容打开「夸克APP」即可获取。/62ed3b5dfO链接https://pan.quark.cn/s/7e408612f087?pwdfeYM提取码feYM
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

PaddleNLP 静态图 BERT 预训练与 GLUE 微调实战:基于 Fleet API 的完整流程解析 2026/9/26 12:52:21

PaddleNLP 静态图 BERT 预训练与 GLUE 微调实战:基于 Fleet API 的完整流程解析

人工智能大模型预训练微调LoRARLHF强化学习分布式训练 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP 点击查看 免费下载 本文以 PaddleNLP 仓库中 sl…

阅读更多 →
AIO Sandbox:一个容器搞定AI Agent的全套运行环境 2026/9/26 12:52:15

AIO Sandbox:一个容器搞定AI Agent的全套运行环境

我说个最近的经历。上周帮朋友调试一个自动化爬虫 Agent,需求不复杂:让模型写脚本、控制浏览器抓公开页面、存 JSON、再生成一份分析报告。听起来常规,真正把环境串起来的时候,浏览器、Shell、文件、MCP 每一块都在制造麻烦。后来…

阅读更多 →
5G面试题库288题:从刷题到上岗的工程实战指南 2026/9/26 12:52:14

5G面试题库288题:从刷题到上岗的工程实战指南

简介:一份面向5G网络工程师、通信专业学生及备考人员的5G模拟考试题库PDF,基于2020年5G考试内容整理而成,覆盖5G NR核心考点,包括EN-DC下的SRB配置、上行HARQ方式、SUL补充上行、BWP切换、SSB组成、PUCCH/PUSCH调制与波形、子载波…

阅读更多 →
血管机器人订购优化:Q-Learning建模与求解 2026/9/26 12:52:14

血管机器人订购优化:Q-Learning建模与求解

简介:一份面向2022年五一数学建模竞赛A题“血管机器人的订购与学习优化”的完整论文PDF,适合参赛学生、建模爱好者以及需要了解动态规划在医疗资源优化中应用的人群。压缩包内共有1个文件,为PDF格式,大小约1.04MB,论文…

阅读更多 →
Claude Code模板工程化:从提示词固化到团队AI协作资产 2026/9/26 12:52:13

Claude Code模板工程化:从提示词固化到团队AI协作资产

1. 这个仓库到底在解决什么问题先说结论:claude-code-templates 不是又一个“AI 提示词大杂烩”,而是一个把 Claude Code 的日常使用经验沉淀成“可复用工程资产”的项目。它的核心思路是——把那些你反复敲、反复调、反复纠正 AI 的对话套路&#xff0c…

阅读更多 →
微服务拆完就万事大吉?先解决边界、通信和启动联调这些问题 2026/9/26 12:52:12

微服务拆完就万事大吉?先解决边界、通信和启动联调这些问题

前两年我们团队做了一个决定:把运行了三年的单体应用拆成微服务。当时觉得拆完就万事大吉,结果那天晚上,光是把注册中心、网关、配置中心、六个业务服务在本地拉起来,就花了四个小时。后面还有各种联调问题等着——服务间超时、配…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉