
Springboot程序连接不上数据库但是Navicat能连接上
Springboot程序连接不上数据库但是Navicat能连接上
·
在Springboot使用MongoDb时,问题如标题,如图:
首先,查出的问题是使用了VPN,于是根据其他博主的解决方法在VM Options中添加了:-Djava.net.preferIPv4Stack=true,但是仍然出现该问题;
于是为了检查配置没有问题,创建了一个测试程序进行连接,结果连上了
那么肯定就和SpringBoot有关,估计SpringBoot创建bean对象连接MongoDb时出现了问题,去了解了一下SpringBoot run方法运行流程,知道创建Bean对象的过程是在刷新上下文即refreshContext方法中,往下Debug,在哪抛出异常就进入哪个方法,打上断点,最后在SocketStream类中的open方法
发现连接的地址不对,连接的居然是本地的地址:localhost:27017,这时就知道时配置没有生效,使用的是Springboot默认的MongoDb配置,然后去看配置,果然@Profile注解,而自己是直接用的默认的yml文件,更改一下环境就行
最后加个点:MongoDb用户名和密码中不能有@,要用相应十六进制代替:%40
更多推荐
所有评论(0)