在 Spring Boot 项目中接入 MQTT 协议,Eclipse Paho 是最常用的 Java 客户端库。配合 Mosquitto 服务端,可以快速构建物联网或即时通讯能力。下面以实战方式梳理从依赖引入到功能测试的完整流程。
添加 MQTT 客户端依赖
首先需要在 pom.xml 中引入 Eclipse Paho 的 MQTTv3 客户端依赖,这是目前主流的 MQTT Java 实现:
<!-- MQTT 客户端 -->
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.5</version>
</dependency>
配置 MQTT 连接参数
接下来在 application.yml 中定义连接信息。注意若启用 TLS 加密,地址前缀应改为 ssl://,默认端口通常为 8883。这里我们使用非加密的 TCP 模式:
mqtt:
# 是否启用
enable: true
# Mosquitto 服务地址(非加密端口)
broker: tcp://localhost:1883
# 客户端唯一标识(建议加随机数避免冲突)
client-id: springboot-mqtt-client
# 认证用户名(Mosquitto 启用认证时必填)
username: user1
# 认证密码
password: 123456
# 默认 QoS 等级(0/1/2)
default-qos: 1
# 心跳间隔(秒)
keep-alive: 60
实现 MQTT 客户端(发布 + 订阅)
MQTT 客户端配置类
核心在于创建一个配置类来管理 实例的生命周期。这里使用了 确保只有在配置属性存在时才初始化 Bean。


