Spring Boot连接MongoDB报TXT记录查找错误是否与application.properties配置有关?
问题结论
你的报错确实和MongoDB连接配置直接相关,核心错误是MongoDB Atlas的SRV地址解析失败。
错误栈最底层的关键异常为:com.mongodb.MongoConfigurationException: Unable to look up TXT record for host cluster0.mongodb.net
你使用的mongodb+srv是SRV连接协议,需要先解析域名的TXT记录获取集群节点信息,解析失败才会触发后续MongoClient、mongoTemplate、Repository一系列Bean创建失败的连锁报错。
解决方案
1. 优先修正application.properties配置问题
这是最常见的报错原因:
- 你当前的URI中
@cluster0.mongodb.net/后面已经附带了数据库名mygrocerylist,同时又单独配置了spring.data.mongodb.database=mygrocerylist,虽不是直接报错原因,但建议去掉URI中的数据库名后缀避免冲突,修改为:
spring.data.mongodb.uri=mongodb+srv://reactmaster123:react8927@cluster0.mongodb.net/ spring.data.mongodb.database=mygrocerylist
- 检查MongoDB Atlas连接地址是否完整:正常Atlas集群的SRV地址格式为
cluster0.<随机字符串>.mongodb.net,你当前的地址缺少中间的随机串部分,大概率是复制时遗漏,请重新登录MongoDB Atlas控制台,复制完整的正确连接地址替换。
2. 排查网络解析问题
如果确认配置无误,就是当前网络环境导致的解析失败:
- 你的网络(如公司内网、校园网)可能禁用了DNS TXT记录查询,或者无法正常访问MongoDB Atlas服务,可以先在本地终端执行命令验证:
Windows系统:nslookup -type=TXT cluster0.mongodb.net
Mac/Linux系统:dig TXT cluster0.mongodb.net
如果执行后没有返回正常的TXT记录,可切换手机热点测试,或者在Atlas控制台复制非SRV格式的标准连接地址使用,不需要解析TXT记录。
3. 额外检查项
- 确认MongoDB Atlas控制台的IP访问白名单已经添加你当前机器的公网IP,也可以临时设置为
0.0.0.0/0允许所有IP访问测试。 - 确认数据库用户名、密码正确,对应账号有目标库的读写权限。
内容的提问来源于stack exchange,提问作者white-tails
相关产品推荐
相关产品推荐

