MST

星途 面试题库

面试题:Java中Spring Boot如何与RabbitMQ集成

请阐述在Spring Boot项目中集成RabbitMQ消息中间件的基本步骤,包括依赖引入、配置文件设置以及简单的消息发送和接收代码示例。
32.6万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

1. 依赖引入

pom.xml 文件中添加 RabbitMQ 相关依赖:

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

2. 配置文件设置

application.propertiesapplication.yml 文件中配置 RabbitMQ 连接信息:

  • application.properties
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
  • application.yml
spring:
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest

3. 消息发送代码示例

创建一个消息发送服务类:

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class MessageSender {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void send(String queueName, Object message) {
        rabbitTemplate.convertAndSend(queueName, message);
    }
}

4. 消息接收代码示例

创建一个消息监听器类:

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class MessageReceiver {

    @RabbitListener(queues = "yourQueueName")
    public void receive(Object message) {
        System.out.println("Received message: " + message);
    }
}

以上代码示例中,send 方法用于发送消息到指定队列,receive 方法使用 @RabbitListener 注解监听指定队列并处理接收到的消息。实际使用时,需将 yourQueueName 替换为真实队列名。