irpas技术客

spring MongoDB 配置以及开启事务_喜欢技术的小璐_mongotemplate 事务

irpas 6070

配置MongoDB,编写MongoDBConfig配置

mongodb: uri: mongodb://appdb:appdb@node01:28017/appdb database: appdb authentication-database: appdb userName: appdb password: appdb host: node01 port: 28017

配置MongoClient

@Configuration public class MongoConfig { @Value("${mongodb.uri}") private String uri; @Value("${mongodb.database}") private String database; @Value("${mongodb.authentication-database}") private String authenticationDataBase; @Value("${mongodb.userName}") private String userName; @Value("${mongodb.password}") private String password; @Value("${mongodb.port}") private Integer port; @Value("${mongodb.host}") private String host; @Bean public MongoClient mongoClient() { // MongoClientSettings.Builder builder = MongoClientSettings.builder(); // MongoCredential credential = MongoCredential.createCredential(userName,authenticationDataBase,password.toCharArray()); // builder.credential(credential); // builder.applyConnectionString(new ConnectionString(uri)); // return MongoClients.create(builder.build(), SpringDataMongoDB.driverInformation()); return MongoClients.create(uri); } }

配置MongoTemplate

@Bean public MongoTemplate mongoTemplate() { MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory()); return mongoTemplate; } @Bean public MongoDatabaseFactory mongoDbFactory() { return new SimpleMongoClientDatabaseFactory(mongoClient(),database); }

配置MongoDB事务

@Bean public MongoTransactionManager mongoTransactionManager(MongoDatabaseFactory mongoDbFactory) { return new MongoTransactionManager(mongoDbFactory); }

如果是spring boot集成MongoDB的话,就不需要配置上面的MongoTemplate的了,如果想要开启事务需要配置下?MongoTransactionManager

spring boot集成mongo只需要在配置文件中配置:

spring: data: mongodb: uri: mongodb://appdb:appdb@node01:28017/appdb authentication-database: appdb

或者:

spring: data: mongodb: username: appdb password: appdb authentication-database: appdb host: node01 port: 28017 database: appdb


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #MongoTemplate #事务 #配置MongoDB #uri