当前位置:首页 > 数据库 > spring MongoDB 配置以及开启事务

spring MongoDB 配置以及开启事务

7个月前 (05-21)78

配置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

作者:追梦鹿少年
来源链接:https://blog.csdn.net/huanglu0314/article/details/124852765

标签: MongoDB

“spring MongoDB 配置以及开启事务” 的相关文章

mongodb单机版的安装和配置

mongodb单机版的安装和配置

首先根据操作系统下载MongoDB的相关安装文件    下载后上传到linux上,解压 将解压后的文件夹重新命名为mon...

[置顶]Ubuntu安装MongoDB

body { background: rgba(255, 255, 255, 1); color: rgba(0, 0, 0, 1); margin-left: 3%; margin-r...

安装和使用MongoDB

安装和使用MongoDB

MongoDB是一个著名的NoSQL数据库,顾名思义就是不使用SQL的数据库,目前在很多场景都有使用。如果你不喜欢使用笨拙的各种SQL数据库,可以尝...

用c#操作Mongodb(附demo)

因为需要,写了一个基于泛型的helper,这样要使用起来方便一点。 为了大家也不重复造轮子,所以发出来希望能帮到谁。 复杂的查询最好用linq,这也是mongodb官方建议的...

nodejs操作mongodb

前一篇博文说明了如何在win7下安装mongodb,下面简要测试一下nodejs操作mongodb: 首先安装nodejs mongodb npm install...

Docker官方推荐操作系统镜像Alpine源码安装MongoDB

Docker官方推荐操作系统镜像Alpine源码安装MongoDB

MongoDB 在工作中使用已经很平凡,官方提供了方便的MongoDB镜像使用。然而本文却想通过源码编译安装MongoDB,下面详细介绍安装编译社区...

Debian/Ubuntu手动编译安装MongoDB C++11驱动及驱动测试

Debian/Ubuntu手动编译安装MongoDB C++11驱动及驱动测试

    系统环境: 最小化、无桌面环境 新安装的Debian 8 Server 版本操作系统虚拟机一台   手动编译安装Mon...

配置MongoDB副本集

配置MongoDB副本集

1 案例1:配置MongoDB副本集 1.1 问题 具体要求: 准备3台mongodb服务器 配置副本集服务...

MongoDB在CentOS 7上的systemctl服务配置

[Unit] Description=mongodb After=network.target remote-fs.target nss-look...

在 CentOS7 上安装 MongoDB

在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器; 2 进入到 /usr/local/ 目录: cd /us...