如何在PlayFramework 2.5(JAVA)中配置Morphia / MongoDB数据源

时间:2016-12-21 09:33:24

标签: java mongodb playframework morphia

我正在尝试学习Play Framework 2.5(JAVA),底层数据库是MongoDB。

我使用Morphia进行实体映射。

目前我在我的java代码中配置了mongoDB数据源,如下所示: -

private static final String DATABASE = "Database";

private static final MongoClientURI mongoClientURI = new MongoClientURI("mongodb://localhost:27017");
private static final MongoClient mongoClient = new MongoClient(mongoClientURI);

private static final Morphia morphia = new Morphia();
private static final Datastore datastore;

private static final DemeanorDAO demeanorDAO;

static {
    morphia.mapPackage("models.entity");

    datastore = morphia.createDatastore(mongoClient, DATABASE);
    datastore.ensureIndexes();
}

如何在conf/application.conf

中配置mongoDB数据源

我是否使用PlayMorphia模块?

我找到了这些配置属性: -

# configure mongodb host and port. Default value: 127.0.0.1:27017
morphia.db.seeds=127.0.0.1:27017
#
# configure mongodb authentication
# - username. Default value: empty
morphia.db.username=user
# - password. Default value: empty
morphia.db.password=pass
#
# configure database name. Default value: test
morphia.db.name=test

我的Java代码如何使用这些属性?

我在哪个conf/application.conf部分放置了这些属性?

1 个答案:

答案 0 :(得分:1)

你有几个问题。

  

我是否使用PlayMorphia模块?

如果您不需要它提供的特定功能,请不要这样做。

  

我的Java代码如何使用这些属性?

您需要在要使用配置值的组件中注入Configurationsource)类。

例如,对于数据库的连接:

new MongoClientURI("mongodb://" + configuration.getString("morphia.db.seeds"));

我让你检查Configuration课程,看看哪些方法可用。

  

我在哪个conf / application.conf部分放置这些属性?

此文件中没有订单。一个好的做法是按域和字母顺序为您订购属性。

免责声明:您应该查看声明与数据库的连接的方式。不要以静态方式启动它,请在application starts

时声明连接