spring boot中mongodb连接的配置
spring: data: mongodb: uri: mongodb://dbname:123456@127.0.0.1:27017/fywl-salary
我这里直接用的是直接配置URI,单项分开配置的参考下其他文章。
要注意的是mongodb的用户是建在数据库下的,admin这样连接的话也是连接不上的,所以建用户一定要建在对应的数据库下。
事务配置:
@Configuration public class MongoDataConfig { @Bean(name = "mongoTransactionManager") MongoTransactionManager transactionManager(MongoDatabaseFactory factory){ return new MongoTransactionManager(factory); } }
要注意 MongoDatabaseFactory这个类不同的springboot名称可能会不同,可以敲关键字找下具体是哪个。配置完成后直接用springboot的事务注解配置mongoTransactionManager就可以使用了。
经过各种尝试得知
mongodb4.0以上的支持事务,而且只有副本集才支持,单点不支持的其他的也不支持。
4.2以上还支持分片事务,要支持事务先部署副本集或者是分片集群,具体的配置方案有很多教程自己找就OK。