【问题标题】:How do I configure Morphia/MongoDB datasource in PlayFramework 2.5 (JAVA)如何在 PlayFramework 2.5 (JAVA) 中配置 Morphia/MongoDB 数据源
【发布时间】:2016-12-21 09:33:23
【问题描述】:

我正在尝试学习 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 部分?

【问题讨论】:

    标签: java mongodb playframework morphia


    【解决方案1】:

    你的问题有几个问题。

    我是否使用 PlayMorphia 模块?

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

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

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

    以连接数据库为例:

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

    我让你检查Configuration 类,看看有哪些方法可用。

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

    此文件中没有顺序。一个好的做法是按域和字母顺序对属性进行排序。

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

    【讨论】:

    • c4k,感谢您回答我所有的问题。不知道我怎么错过了 Play Framework Configuration 课程。
    • 请注意,GlobalSettings 已被弃用,Play Framework 建议不要使用它。
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    相关资源
    最近更新 更多