Spring?Boot實現(xiàn)消息的發(fā)送和接收使用實戰(zhàn)指南
正文
當涉及到消息發(fā)送和接收的場景時,可以使用Spring Boot和消息中間件RabbitMQ來實現(xiàn)。下面是一個簡單的示例代碼,展示了如何在Spring Boot應(yīng)用程序中創(chuàng)建消息發(fā)送者和接收者,并發(fā)送和接收一條消息
準備工作
首先,你需要進行以下準備工作
- 確保你已經(jīng)安裝了Java和Maven,并設(shè)置好相應(yīng)的環(huán)境變量。
- 選擇一個消息中間件作為你的消息代理,并確保已經(jīng)安裝和配置好該消息中間件。
- 創(chuàng)建一個新的Spring Boot項目,并添加相應(yīng)的依賴項。
編寫代碼
現(xiàn)在,讓我們來編寫代碼
- 創(chuàng)建一個名為
MessageSender的類,用于發(fā)送消息。
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MessageSender {
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String message) {
rabbitTemplate.convertAndSend("queue_email", message);
System.out.println("Message sent: " + message);
}
}- 創(chuàng)建一個名為
MessageReceiver的類,用于接收消息。
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class MessageReceiver {
@RabbitListener(queues = "queue_email")
public void receiveMessage(String message) {
System.out.println("Message received: " + message);
}
}- 創(chuàng)建一個名為
Application的類,作為啟動類。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}- 創(chuàng)建一個名為
application.properties的配置文件,并添加以下配置:
spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest
以上代碼示例中使用了RabbitMQ作為消息中間件,你可以根據(jù)自己的需求選擇其他消息中間件,并相應(yīng)地更改配置。
配置指定的隊列
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitMQConfig {
@Bean
public Queue queue() {
return new Queue("queue_email");
}
}現(xiàn)在你可以在應(yīng)用程序的其他地方使用MessageSender類發(fā)送消息,例如在某個控制器中:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MessageController {
@Autowired
private MessageSender messageSender;
@GetMapping("/send-message")
public String sendMessage() {
messageSender.sendMessage("Hello, World!");
return "Message sent";
}
}當你運行這個Spring Boot應(yīng)用程序時,可以通過訪問/send-message端點來發(fā)送一條消息。這條消息將被發(fā)送到名為queue_email的隊列中,并由MessageReceiver類中的receiveMessage方法接收和處理。
這是一個簡單的示例,用于演示如何在Spring Boot應(yīng)用程序中發(fā)送和接收消息。可以根據(jù)實際需求進行修改和擴展,添加更多的功能和業(yè)務(wù)邏輯。
相關(guān)文章
Spring boot 項目中如何進行kafka Stream app 
文章介紹了Kafka Streams的配置要點與核心方法,強調(diào)應(yīng)用ID唯一性、正確設(shè)置Bootstrap服務(wù)器,區(qū)分KStream與Java Stream的不可變性和多消費特性,本文給大家介紹Springboot項目中如何進行kafka Stream app開發(fā),感興趣的朋友一起看看吧2025-09-09
openEuler?搭建java開發(fā)環(huán)境的詳細過程
這篇文章主要介紹了openEuler?搭建java開發(fā)環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

