当前位置: 首页 > news >正文

实战指南:使用Spring Boot实现消息的发送和接收

当涉及到消息发送和接收的场景时,可以使用Spring Boot和消息中间件RabbitMQ来实现。下面是一个简单的示例代码,展示了如何在Spring Boot应用程序中创建消息发送者和接收者,并发送和接收一条消息。

首先,你需要进行以下准备工作

  1. 确保你已经安装了Java和Maven,并设置好相应的环境变量。

  2. 选择一个消息中间件作为你的消息代理,并确保已经安装和配置好该消息中间件。

  3. 创建一个新的Spring Boot项目,并添加相应的依赖项。

现在,让我们来编写代码

  1. 创建一个名为 MessageSender的类,用于发送消息。
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);
    }
}
  1. 创建一个名为 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);
    }
}
  1. 创建一个名为 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.classargs);
    }
}
  1. 创建一个名为 application.properties的配置文件,并添加以下配置:
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

以上代码示例中使用了RabbitMQ作为消息中间件,你可以根据自己的需求选择其他消息中间件,并相应地更改配置。

  1. 配置指定的队列
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");
    }
    
}

现在你可以在应用程序的其他地方使用MessageSender类发送消息,例如在某个控制器中:

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应用程序时,可以通过访问/send-message端点来发送一条消息。这条消息将被发送到名为queue_email的队列中,并由MessageReceiver类中的receiveMessage方法接收和处理。

这是一个简单的示例,用于演示如何在Spring Boot应用程序中发送和接收消息。可以根据实际需求进行修改和扩展,添加更多的功能和业务逻辑。

本文由 mdnice 多平台发布

http://www.lryc.cn/news/93951.html

相关文章:

  • 常用的数据结构——栈
  • C++完成淄博烧烤节管理系统
  • 我心中的TOP1编程语言
  • Linux工具之gdb(含移植到arm-linux系统)
  • DolphinScheduler
  • 10大白帽黑客专用的 Linux 操作系统
  • Golang每日一练(leetDay0099) 单词规律I\II Word Pattern
  • linux_centos7.9/ubuntu20.04_下载镜像及百度网盘分享链接
  • Reqable HTTP一站式开发+调试工具(小黄鸟作者另一力作、小黄鸟完美替代品)
  • Yacc 与 Lex 快速入门
  • 【开源与项目实战:开源实战】80 | 开源实战二(下):从Unix开源开发学习应对大型复杂项目开发
  • 【单周期CPU】LoongArch | 立即数扩展模块Ext | 32位算术逻辑运算单元(ALU)
  • Python实现数据结构的基础操作
  • 20230624----重返学习-vue-响应式处理思路-仿源码
  • 【MongoDB】三、使用Java连接MongoDB
  • 【C++】通讯录的基本实现,附有源码分享
  • UI 自动化测试 —— selenium的简单介绍和使用
  • mybatisPlus中apply的使用以进行联表等复杂sql语句
  • 自学Python技术的方法
  • python熟悉python基础语法,了解html网络结构,了解json格式数据,含有字符串
  • linux mail -s发送邮件异常解决
  • Netty核心技术七--Google Protobuf
  • 【Docker】Docker常用命令总结
  • React 对比class与Effect Hook优化响应式数据更新监听,感受useEffect真正的强大
  • AWS Lambda 介绍
  • linux之权限管理
  • 【设计模式与范式:行为型】61 | 策略模式(下):如何实现一个支持给不同大小文件排序的小程序?
  • 【C++】auto_ptr为何被唾弃?以及其他智能指针的学习
  • 数据结构练习题1:基本概念
  • 如何消除Msxml2.XMLHTTP组件的缓存