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也是需要自己定义的队列。

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

相关推荐
RainbowSea3 小时前
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 06
java·spring boot·后端
RainbowSea3 小时前
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
vue.js·spring boot·后端
华仔啊4 小时前
3行注解干掉30行日志代码!Spring AOP实战全程复盘
java·spring boot·后端
Mi_Manchikkk5 小时前
Java高级面试实战:Spring Boot微服务与Redis缓存整合案例解析
java·spring boot·redis·缓存·微服务·面试
练习时长一年15 小时前
AopAutoConfiguration源码阅读
java·spring boot·intellij-idea
Q_Q196328847521 小时前
python的电影院座位管理可视化数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
悟纤1 天前
Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
spring boot·后端·spring
MrSYJ1 天前
UserDetailService是在什么环节生效的,为什么自定义之后就能被识别
java·spring boot·后端
Noii.1 天前
Spring Boot初级概念及自动配置原理
java·spring boot·后端
勿在浮沙筑高台1 天前
无法获取实体类com.example.springdemo2.entity.po.UserPO对应的表名!
java·spring boot·mybatis