今天在使用mongodb的时候,遇到一个坑,记录一下,分享给有可能需要的小伙伴~~
MongoDB在新建一个数据库后,给这个数据库创建一个用户,密码,通过远程工具可以连接成功,但是在代码中始终连接不上,最终发现问题,很诡异的问题
贴出部分代码:
@ConfigurationProperties(prefix = "spring.data.mongodb")
public class MongoProperties {...}
在注入的时候,有password属性注入失败,在MongoProperties中psd定义为插入char【】数组,注入失败
所以一直报上面的错误,密码都没有肯定认证失败!我们的解决办法:
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb")
public class SpringMongoConfig {
@Autowired
private MongoProperties properties;
String password;
}
在链接mongodb的配置文件中,新加一个 password属性直接 给properties赋值,不在源码中赋值
即:properties.setPassword(password.toCharArray());
完美解决!个人认为是 mongodb的版本和springboot整合时 jia包不匹配,具体未深究!