
SpringBoot之RabbitMQ的简单使用的Demo
发布日期:2021-05-07 08:42:50
浏览次数:13
分类:精选文章
本文共 2314 字,大约阅读时间需要 7 分钟。
Spring Boot 与 RabbitMQ 快速入门指南
1. 基本声明
本文旨在提供使用 RabbitMQ 的基本操作指导,基于 Spring Boot 框架进行配置和使用。本文将从环境搭建、依赖管理、配置文件设置、消息发送与接收等方面进行详细说明。
2. RabbitMQ 账户配置
在使用 RabbitMQ 之前,需要先创建一个测试账户。注意:在创建账户时,虚拟主机host 必须设置为 /
,否则可能会导致连接失败。这里以 root
作为测试账户。
3. 项目依赖管理
在项目的 pom.xml
文件中添加必要的依赖项:
org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE / com.example SpringBoot-RabbitMQ 0.0.1-SNAPSHOT jar http://maven.apache.org UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-amqp org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-maven-plugin
4. 应用配置
在项目根目录下创建 application.properties
文件,并添加以下内容:
spring.application.name=rabbitmq-helloserver.port=8080spring.rabbitmq.host=localhostspring.rabbitmq.port=5672spring.rabbitmq.username=rootspring.rabbitmq.password=root
5. 主程序实现
创建 RabbitMQApplication.java
文件:
@RestController@SpringBootApplicationpublic class RabbitMQApplication { @Autowired private AmqpTemplate amqpTemplate; @RequestMapping("/send") public String send(String msg) { amqpTemplate.convertAndSend("test", msg); return "发送消息成功:" + msg; } public static void main(String[] args) { SpringApplication.run(RabbitMQApplication.class, args); } @Bean public Queue queue() { return new Queue("test"); } @Component @RabbitListener(queues = "test") public class MsgCustomer { @RabbitHandler public void handlerMsg(String msg) { System.out.println("消息消费者消费:" + msg); } }}
6. 测试与验证
发送消息:
- 访问
http://localhost:8080/send
,输入消息内容,点击发送。 - 打开 RabbitMQ 管理界面,查看消息队列,确认消息已成功发送至
test
队列。
消息消费:
- 在 RabbitMQ 的管理界面中,确认
test
队列有无消费者接收消息。 - 消息会自动由
MsgCustomer
类的handlerMsg
方法处理,输出在控制台。
7. 总结与建议
本文详细介绍了如何在 Spring Boot 项目中集成 RabbitMQ,实现了消息的发布与订阅功能。通过本文,您可以快速上手 RabbitMQ 的使用,进行消息队列开发。对于更复杂的场景,可以参考 RabbitMQ 的官方文档或相关技术博客,进一步优化消息系统的性能和可靠性。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月17日 14时03分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
操作系统知识概述
2019-03-05
读懂操作系统(x64)之堆栈帧(过程调用)
2019-03-05
仓储模式到底是不是反模式?
2019-03-05
VS2015安装EF Power Tools
2019-03-05
ASP.NET MVC之JsonResult(六)
2019-03-05
SQL Server之深入理解STUFF
2019-03-05
使用mybatis-generator生成底层
2019-03-05
Android APK 重签名
2019-03-05
Mybatis【3】-- Mybatis使用工具类读取配置文件以及从属性读取DB信息
2019-03-05
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
2019-03-05
Mybatis【7】-- Mybatis如何知道增删改是否成功执行?
2019-03-05
Mybatis【9】-- Mybatis占位符#{}和拼接符${}有什么区别?
2019-03-05
计算输入的一句英文语句中单词数
2019-03-05
zabbix系列之十——添加短信告警
2019-03-05
docker复制文件到宿主机
2019-03-05
lvs+keepalive构建高可用集群
2019-03-05
Mysql高可用架构(主从同步)
2019-03-05
mysql主从延迟高的原因
2019-03-05