使用spring框架连接mongohq或mongolab

使用spring框架连接mongohq或mongolab,spring,mongodb,heroku,mongohq,Spring,Mongodb,Heroku,Mongohq,我尝试使用spring连接到mongohq。我从中获得了一些信息,但在连接代码时,MongoURI类被弃用。 我使用了spring数据mongodbversion1.2.0.RELEASE。和mongojava驱动程序-2.11.0 有人能告诉你如何使用spring连接到mongohq或mongolab吗 蒙古里公务舱 扩展对象 表示可用于创建Mongo实例的URI。URI描述了要使用的主机和选项 此类已被MongoClientURI取代,在将来的版本中可能会被弃用 你的答案也是这样。听到的是密

我尝试使用spring连接到mongohq。我从中获得了一些信息,但在连接代码时,
MongoURI
类被弃用。 我使用了
spring数据mongodb
version
1.2.0.RELEASE
。和
mongojava驱动程序-2.11.0

有人能告诉你如何使用spring连接到mongohq或mongolab吗

蒙古里公务舱 扩展对象

表示可用于创建Mongo实例的URI。URI描述了要使用的主机和选项

此类已被MongoClientURI取代,在将来的版本中可能会被弃用

你的答案也是这样。

听到的是密码

@Configuration
    public class SpringConfig {
        @Bean
        public DB getDb() throws UnknownHostException, MongoException {
            String uri="mongodb://user:password@id.mongolab.com:53178/db";
            MongoClientURI mongoClientURI=new MongoClientURI(uri);
            MongoClient mongoClient=new MongoClient(mongoClientURI);
            DB db=mongoClient.getDB(mongoClientURI.getDatabase());
            db.authenticate(mongoClientURI.getUsername(),mongoClientURI.getPassword());
            return db;
        }
    }
如果将mongodb与一起使用,则可以使用中所述的配置

它最终将看起来像:

@Configuration
public class MongoHQConfiguration {

    public @Bean MongoDbFactory mongoDbFactory() throws MongoException, UnknownHostException {
        return new SimpleMongoDbFactory(new MongoURI(System.getenv("MONGOHQ_URL")));
    }

    public @Bean MongoTemplate mongoTemplate() throws Exception {
        return new MongoTemplate(mongoDbFactory());
    }
}

如果您使用的是Spring引导,“MongoProperties”类正在等待外部配置:

通过“heroku配置”,您可以看到已经定义的属性-如果将MONGOLAB添加到您的应用程序中,将有一个“MONGOLAB_URI”

只需定义:
heroku-config:set-spring.data.mongodb.uri=
。完成了