springboot整合rabbitmq 实现消息发送和消费

Spring Boot提供了RabbitMQ的自动化配置,使得整合RabbitMQ变得非常容易。

首先,需要在pom.xml文件中引入amqp-client和spring-boot-starter-amqp依赖:

xml 复制代码
<dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.5.1</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

接下来需要在application.properties文件中配置RabbitMQ连接信息:

properties 复制代码
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/

然后编写消息发送者:

java 复制代码
@Component
public class RabbitMQSender {
    private final RabbitTemplate rabbitTemplate;

    public RabbitMQSender(RabbitTemplate rabbitTemplate) {
        this.rabbitTemplate = rabbitTemplate;
    }

    public void send(String message) {
        rabbitTemplate.convertAndSend("my-exchange", "my-routing-key", message);
    }
}

其中,my-exchange和my-routing-key是需要自己定义的交换机和路由键。

最后编写消息消费者:

java 复制代码
@Component
public class RabbitMQReceiver {
    @RabbitListener(queues = "my-queue")
    public void receive(String message) {
        System.out.println("Received message: " + message);
    }
}

其中,my-queue也是需要自己定义的队列。

在以上步骤完成后,即可实现消息的发送和消费。

相关推荐
Q_Q51100828528 分钟前
python+django/flask的结合人脸识别和实名认证的校园论坛系统
spring boot·python·django·flask·node.js·php
Q_Q51100828530 分钟前
python+django/flask的选课系统与课程评价整合系统
spring boot·python·django·flask·node.js·php
老华带你飞1 小时前
社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·社区养老保障
q***87601 小时前
springboot下使用druid-spring-boot-starter
java·spring boot·后端
q***69771 小时前
Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档
java·spring boot·mysql
AH_HH2 小时前
Spring Boot 4.0 发布总结:新特性、依赖变更与升级指南
java·spring boot·后端
2501_941147422 小时前
高并发日志系统ELK/Fluentd/ClickHouse在互联网优化实践经验分享
rabbitmq
Tadas-Gao2 小时前
Spring Boot 4.0架构革新:构建更精简、更安全、更高效的Java应用
java·spring boot·分布式·微服务·云原生·架构·系统架构
vx_bisheyuange2 小时前
基于SpringBoot的库存管理系统
java·spring boot·后端·毕业设计
你不是我我3 小时前
【Java 开发日记】有了解过 SpringBoot 的参数配置吗?
java·开发语言·spring boot